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 に答える