我正在试图找出如何搜索数组,以便找到一个值大于或等于1的键。
例如:
array_search(>1, $array);
^非法语法
答案 0 :(得分:3)
array_search不能像搜索一样使用条件,而是使用array_walk()。您可以将自定义函数传递给array_walk,它将针对数组的每个元素执行该函数。像...这样的东西。
array_walk($array, 'check_great_than_one_fn');
function check_great_than_one_fn($val)
{
//if($val > 1) do whatever your heart pleases..
}
在http://www.php.net/array_walk
了解详情请注意:我提供的示例非常简陋,甚至可能在参数和逻辑方面都不正确。它只是给你一个关于如何去做的想法。检查我给出的链接中的文档以获得正确的想法
答案 1 :(得分:0)
我正在使用非常相似的东西构建一个工作日数组:
// Set different value to test. 0 = Sunday, 1 = Monday
$start_of_week = 5;
// Build an array, where the values might exceed the value of 6
$days = range( $start_of_week, $start_of_week +6 );
// Check if we find a value greater than 6
// Then replace this and all following vals with an array of values lower than 6
if ( $found_key = array_search ( 7, $days ) )
array_splice(
$days,
$found_key,
7 -$found_key +1,
range( 0, $days[ 0 ] -1 )
);
// Check the days:
var_dump( $days );