Today we will introduce to you how to determine whether the element value we are looking for exists in the array. Here, if it is one-dimensional data, you can directly in_array, but multi-dimensional data is a bit more complicated.
Let’s first solve the problem of in_array checking whether a certain value exists in the array
The code is as follows
代码如下 |
复制代码 |
$os = array("Mac", "NT", "Irix", "Linux");
echo “(1)”;
if (in_array("Irix", $os)) {
echo "Got Irix";
}
if (in_array("mac", $os)) {//in_array() 是区分大小写的
echo "Got mac";
}
$a = array('1.10', 12.4, 1.13);
echo "(2)";
if (in_array('12.4', $a, true)) {//in_array() 严格类型检查
echo "'12.4' found with strict checkn";
}
if (in_array(1.13, $a, true)) {
echo "1.13 found with strict checkn";
}
$a = array(array('p', 'h'), array('p', 'r'), 'o');
echo "(3)";
if (in_array(array('p', 'h'), $a)) {
echo "'ph' was foundn";
}
if (in_array(array('f', 'i'), $a)) {//in_array() 中用数组作为 needle
echo "'fi' was foundn";
}
if (in_array('o', $a)) {
echo "'o' was foundn";
}
?>
程序运行结果是:
(1)Got Irix
(2)1.13 found with strict check
(3)'ph' was found 'o' was found
|
|
Copy code
|
$os = array("Mac", "NT", "Irix", "Linux");
代码如下 |
复制代码 |
$arr = array(
array('a', 'b'),
array('c', 'd')
);
in_array('a', $arr); // 此时返回的永远都是 false
deep_in_array('a', $arr); // 此时返回 true 值
function deep_in_array($value, $array) {
foreach($array as $item) {
if(!is_array($item)) {
if ($item == $value) {
return true;
} else {
continue;
}
}
if(in_array($value, $item)) {
return true;
} else if(deep_in_array($value, $item)) {
return true;
}
}
return false;
}
|
echo “(1)”;
if (in_array("Irix", $os)) {
echo "Got Irix";
}
if (in_array("mac", $os)) {//in_array() is case sensitive
echo "Got mac";
}
|
$a = array('1.10', 12.4, 1.13);<🎜>
echo "(2)";<🎜>
<🎜>if (in_array('12.4', $a, true)) {//in_array() strict type checking<🎜>
echo "'12.4' found with strict checkn";<🎜>
}<🎜>
if (in_array(1.13, $a, true)) {<🎜>
echo "1.13 found with strict checkn";<🎜>
}<🎜>
<🎜>
<🎜> <🎜>
<🎜>$a = array(array('p', 'h'), array('p', 'r'), 'o');<🎜>
echo "(3)";<🎜>
<🎜>if (in_array(array('p', 'h'), $a)) {<🎜>
echo "'ph' was foundn";<🎜>
<🎜>}<🎜>
<🎜>if (in_array(array('f', 'i'), $a)) {//Use array as needle<🎜> in in_array()
echo "'fi' was foundn";<🎜>
}<🎜>
if (in_array('o', $a)) {<🎜>
echo "'o' was foundn";<🎜>
}<🎜>
?>
The result of running the program is:
(1)Got Irix
(2)1.13 found with strict check
(3)'ph' was found 'o' was found
The above are all one-dimensional arrays. It’s very simple. Let’s see if there is a certain value in the multi-dimensional data
The code is as follows
|
Copy code
|
$arr = array(
array('a', 'b'),
array('c', 'd')
);
in_array('a', $arr); // The return value at this time is always false
deep_in_array('a', $arr); // Returns true value at this time
function deep_in_array($value, $array) {
foreach($array as $item) {
If(!is_array($item)) {
If ($item == $value) {
return true;
} else {
Continue;
}
If(in_array($value, $item)) {
return true;
} else if(deep_in_array($value, $item)) {
return true;
}
}
Return false;
}
This method is found in the comments under the in_array method detailed explanation page of the PHP help manual. If you have nothing to do, read the help manual more often, especially the classic comments at the end, which collects many people's classic methods.
http://www.bkjia.com/PHPjc/632800.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/632800.htmlTechArticleToday we will introduce to you how to determine whether the element value we are looking for exists in the array. Here we will introduce if it is one-dimensional The data is directly in_array but multidimensional data is a little more complicated. Let’s explain it first...
|