0

$ gIDという変数があり、グループ値のセットを持つ多次元配列もあります。

例えば....

[data] => Array
    (
        [0] => Array
            (
                [userId] => 3
                [groupId] => 24
                [status] => 1
                [timestamp] => 2012-08-01 20:09:36
            )

        [1] => Array
            (
                [userId] => 3
                [groupId] => 25
                [status] => 1
                [timestamp] => 2012-08-01 20:08:01
            )

    )

私がする必要があるのは、配列を検索し、[groupId] =$gIDの場合にstatus=1の場合にtrueを返すことです。

これを行うための最も効率的な方法は何でしょうか?何か案は?2つのforeachループでそれを行うことを考えましたが、もっと良い方法があるはずだと思いました。

乾杯クリス

4

1 に答える 1

0

最初はパフォーマンスについてはあまり気にしませんでした。それにもかかわらず、あなたは1つでこれを行うことができますforeach

// simple boolean function
function search_stuff($arr, $gID) {
  foreach ($arr as $item) {
    if ($item['gID'] == $gID && $item['status'] == 1) {
       return false;
    }
  }

  return false;
}

// sample call
var_dump(search_stuff($arr['data'], $gID));

柔軟性とメンテナンスのしやすさのために、これを機能にすることをお勧めします。そうすれば、よりパフォーマンスの高いソリューションを見つけた場合、更新する場所は1つだけです。

于 2012-08-01T19:36:02.027 に答える