The PHP in_array is one of the built-in functions in PHP (Hypertext Preprocessor) which is used to search a specific value on a set of an array.
In this article, we will talk about in_array function in a detailed explanation as well as samples in order for you to understand it easily. This is a continuance of the previous topic, entitled Array Push PHP.
What is in_array PHP?
In PHP, in_array is a function which is used to check if a given value in the array exists or not.
Further, Once the given value exists it will return TRUE, otherwise FALSE.
Syntax:
in_array(search, array, type)
Parameter Values:
| Parameter | Description |
|---|---|
| search | Clearly specified what to search into an array (REQUIRED). |
| array | It specifies the elements of an array to search (REQUIRED). |
| type | Once the parameter were set to TRUE, then in_array function will search a string and its specific type in the array elements (OPTIONAL). |
Technical Details:
| Return Value: | The return value could return TRUE once the value is already in the array or return FALSE once not. |
|---|---|
| PHP Version: | PHP 4.2 or higher could be the best version – Where the search parameter can be on the array. |
| PHP Changelog: | 4+ version or higher. |
First example:
<?php
$people = array("Adones", "Jude", "Paul", "Glenn");
if (in_array("Jude", $people)){
echo "Name found in the array";
}
else{
echo "Name not found in the array";
}
?>Output:
Name found in the array
Second example:
<?php
$programmer = array("Jude", "Glenn", "Adones", "Paul", 26);
if (in_array("26", $programmer, TRUE)){
echo "Match found"."\n";
}
else{
echo "Match not found"."\n";
}
if (in_array("Glenn",$programmer, TRUE)){
echo "Match found"."\n";
}
else{
echo "Match not found"."\n";
}
if (in_array(26,$programmer, TRUE)){
echo "Match found"."\n";
}
else{
echo "Match not found"."\n";
}
?>Output:
Match not found Match found Match found
What is the difference between in_array and Array_search?
The main difference between in_array and array_search is that in_array function only returns TRUE or FALSE based on the result of searching if they exist in an array. While the array_search() function usually returns a value, either a key or an index using a conditional statement.
How to use PHP in_array with associative array?
To use PHP in_array with an associated array, we can use the following code as a function to get the associated array. Just always keep in mind that the key value is case-sensitive manner and cannot be accessed anywhere on the entire array of elements.
Example:
<?php
function is_in_array($array, $key, $key_value){
$within_array = 'no';
foreach( $array as $k=>$v ){
if( is_array($v) ){
$within_array = is_in_array($v, $key, $key_value);
if( $within_array == 'yes' ){
break;
}
} else {
if( $v == $key_value && $k == $key ){
$within_array = 'yes';
break;
}
}
}
return $within_array;
}
$test = array(
0=> array('ID'=>1, 'programmerName'=>"Glenn"),
1=> array('ID'=>2, 'ProgrammerName'=>"Jude")
);
print_r(is_in_array($test, 'programmerName', 'Glenn'));
?>Output:
yes
Using in_array for multi dimensional arrays
The in_array In PHP can only be called on a single dimensional array. In order to be used, we need to loop over each (sub array) and execute in_array on each element.
Further, based on what I observed, the function is only for a (2 dimensional array). If there will be instances that you have more nested arrays, I will recommend a recursive version on that matter to check if a value exists.
Example:
<?php
$array = array(
"0" => array(
"programmerName" => "Jude",
"0" => "Jude"
),
"1" => array(
"programmerName" => "Glenn",
"0" => "Glenn"
),
"2" => array(
"programmerName" => "Adones",
"0" => "Adnoes"
)
);
$searchprogrammer = "Glenn";
foreach($array as $v) {
if ($v['programmerName'] == $searchprogrammer) {
$found = true;
}
}
echo (isset($found) ? 'Programmer name found!' : 'search failed');
?>Output:
Programmer name found!
in_array for a combo value (‘test’,’value’)
if (
array_key_exists('test', $array) && $array['test'] == 'value' // Has test => value
||
in_array(array('test', 'value'), $array) // Has [test, value] and strict mode data types
) {
// Found
}Php in_array find value by key
in_array($id, array_column($array, 'id'))
More About Array
- PHP array_merge With Detailed Explanation
- PHP Array Iterator with Example Program
- PHP Array_Keys With Example Programs
- PHP Array Search With Advanced Example
- PHP Array_Walk With Advanced Example
Summary
In summary, you have learned about PHP in_array. This article also discussed what is in_array PHP, what is the difference between in_array and Array_search, how to use PHP in_array with an associative array, using in_array for multidimensional arrays, in_array for a combo value (‘test’, ‘value’) and PHP in_array find value by key.
I hope this lesson has helped you learn a lot. Check out my previous and latest articles for more life-changing tutorials which could help you a lot.
