这是一个简单的问题,但让我感到困惑:
$myarray = array(
array(10,20),
array(299, 315),
array(156, 199)
);
如何检查任何特定的单个数组值中是否存在$x
?我想搜索每个单独的条目数组。
例如,我想搜索,如果$x
介于:10
到20
之间,然后介于299
到315
之间,然后介于156
之间{1}}至199
。
答案 0 :(得分:1)
试试这个:
function is_in_array_range($array, $search) {
foreach ($array as $value) {
$min = min($value);
$max = max($value);
if ($search >= $min && $search <= $max) {
return true;
}
}
return false;
}
$myarray = array(
array(10,20),
array(299, 315),
array(156, 199)
);
is_in_array_range($myarray, 9); // Returns false
is_in_array_range($myarray, 11); // Returns true
函数is_in_array_range()
将采用两个参数。数组和要检查的值在范围内。
当它进入时,它将循环遍历数组中的所有元素。每次获得嵌套数组的最高值和最低值(min()
和max()
函数),并检查您要查找的值是否在它们之间。如果是这种情况,则返回true(这也会停止该功能)。如果永远不会达到true,则找不到该值,因此在函数结束时返回false。
答案 1 :(得分:0)
这将代码
foreach($myarray as $value)
{
if(in_array("10", $value, true))
{
echo "Got 10";
}
}