1

我试图弄清楚如何搜索一个数组,以便找到一个值大于或等于 1 的键。

例如:

array_search(>1, $array);

^ 非法语法

4

2 回答 2

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阅读更多关于它的信息

请注意:我给出的示例非常简陋,在论据和逻辑方面甚至可能不正确。它只是给你一个关于如何去做的想法。检查我提供的链接中的文档以获得正确的想法

于 2012-08-08T03:36:43.217 回答
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 );
于 2013-06-20T16:03:50.760 回答