php二维数组搜索
我有一个数组php二维数组搜索,php,search,associative-array,Php,Search,Associative Array,我有一个数组 $user['123'][]= 2/2/2012; $user['123'][]= 2/3/2012; $user['123'][]= 2/4/2012; ['123'] => Array ( [0] => 2/2/2012 [1] => 2/3/2012 [2] => 2/4/2012 ) 我想做的是检查$var=2/3/2012是否在数组中 我试着在数组中使用,但不起作用 任何这样的解
$user['123'][]= 2/2/2012;
$user['123'][]= 2/3/2012;
$user['123'][]= 2/4/2012;
['123'] => Array
(
[0] => 2/2/2012
[1] => 2/3/2012
[2] => 2/4/2012
)
我想做的是检查$var=2/3/2012是否在数组中
我试着在数组中使用,但不起作用
任何这样的解决方案都将受到欢迎
<?php
$user['123'][]= '2/2/2012';
$user['123'][]= '2/3/2012';
$user['123'][]= '2/4/2012';
function dateIn2DArray($date, $haystack) {
foreach($haystack as $dates) {
if (in_array($date, $dates)) {
return true;
}
}
return false;
}
var_dump(dateIn2DArray('2/2/2012', $user)); // true
var_dump(dateIn2DArray('2/2/2013', $user)); // false
关键是,数组中的适用于一维数组,因此必须在每个子数组中分别进行检查。检查链接
http://php.net/manual/en/function.in-array.php
$user['123'][]='2/2/2012'代码>
$user['123'][]='2/3/2012'代码>
$user['123'][]='2/4/2012'代码>
$var='2/3/2012'代码>
echo在_数组中($var,$user['123'])代码>以下是我编写的一个递归PHP函数,用于深入搜索值:
function in_array_recursive($needle, $haystack){
if (in_array($needle, $haystack)) return true;
else{
foreach ($haystack as $key=>$value){
if (is_array($haystack[$key])) {
return in_array_recursive($needle, $haystack[$key]);
}
}
return false;
}
}
电话:
echo in_array_recursive($item, $arr);
这很好,但是如果我有$user['232'][],并且我想搜索特定的userID,该怎么办,就像我试图传递用户ID一样,如果(DateInDarray('2/2/2012',$user['123']){echo'trueo';}给了我一个数组
echo in_array_recursive($item, $arr);