PHP in_array
Summary: in this tutorial, you will learn how to use the PHP in_array()
function to check if a value exists in an array.
Introduction to the PHP in_array() function
The in_array()
function returns true
if a value exists in an array. Here’s the syntax of the in_array()
function:
in_array ( mixed $needle , array $haystack , bool $strict = false ) : bool
Code language: PHP (php)
In this syntax:
$needle
is the searched value.$haystack
is the array to search.$strict
if the$strict
sets totrue
, thein_array()
function will use thestrict
comparison.
The in_array()
function searches for the $needle
in the $haystack
using the loose comparison (==
). To use the strict comparison (===
), you need to set the $strict
argument to true
.
If the value to check is a string, the in_array()
function will search for it case-sensitively.
The in_array()
function returns true
if the $needle
exists in the $array
; otherwise, it returns false
.
PHP in_array() function examples
Let’s take some examples of using the in_array()
function.
1) Simple PHP in_array() function examples
The following example uses the in_array()
function to check if the value 'update'
is in the $actions
array:
$actions = [
'new',
'edit',
'update',
'view',
'delete',
];
$result = in_array('update', $actions);
var_dump($result); // bool(true)
Code language: HTML, XML (xml)
It returns true
.
The following example returns false
because the publish
value doesn’t exist in the $actions
array:
$actions = [
'new',
'edit',
'update',
'view',
'delete',
];
$result = in_array('publish', $actions);
var_dump($result); // bool(false)
Code language: HTML, XML (xml)
The following example returns false
because the value 'New'
doesn’t exist in the $actions
array. Note that the in_array()
compares the strings case-sensitively:
$actions = [
'new',
'edit',
'update',
'view',
'delete',
];
$result = in_array('New', $actions);
var_dump($result); // bool(false)
Code language: HTML, XML (xml)
2) Using PHP in_array() function with the strict comparison example
The following example uses the in_array()
function to find the number 15
in the $user_ids
array. It returns true
because the in_array()
function compares the values using the loose comparison (==
):
$user_ids = [10, '15', '20', 30];
$result = in_array(15, $user_ids);
var_dump($result); // bool(true)
Code language: HTML, XML (xml)
To use the strict comparison, you pass false
to the third argument ($strict
) of the in_array()
function as follows:
$user_ids = [10, '15', '20', 30];
$result = in_array(15, $user_ids, true);
var_dump($result); // bool(false)
Code language: HTML, XML (xml)
This time the in_array()
function returns false
instead.
3) Using PHP in_array() function with the searched value is an array example
The following example uses the in_array()
function with the searched value is an array:
$colors = [
['red', 'green', 'blue'],
['cyan', 'magenta', 'yellow', 'black'],
['hue', 'saturation', 'lightness']
];
if (in_array(['red', 'green', 'blue'], $colors)) {
echo 'RGB colors found';
} else {
echo 'RGB colors are not found';
}
Code language: HTML, XML (xml)
Output:
RGB colors found
4) Using PHP in_array() function with an array of objects example
The following defines the Role
class that has two properties $id
and $name
:
class Role
{
private $id;
private $name;
public function __construct($id, $name)
{
$this->id = $id;
$this->name = $name;
}
}
Code language: HTML, XML (xml)
This example illustrates how to use the in_array()
function to check if a Role
object exists in an array of Role
objects:
// Role class$roles = [
new Role(1, 'admin'),
new Role(2, 'editor'),
new Role(3, 'subscribe'),
];
if (in_array(new Role(1, 'admin'), $roles)) {
echo 'found it';
}
Code language: HTML, XML (xml)
Output:
found it!
If you set the $strict
to true
, the in_array()
function will compare objects using their identities instead of values. For example:
// Role class$roles = [
new Role(1, 'admin'),
new Role(2, 'editor'),
new Role(3, 'subscribe'),
];
if (in_array(new Role(1, 'admin'), $roles, true)) {
echo 'found it!';
} else {
echo 'not found!';
}
Code language: PHP (php)
Output:
not found!
Summary
- Use PHP
in_array()
function to check if a value exists in an array.