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
            )

    )

我需要做的是搜索数组并返回 true 如果 status = 1 如果 [groupId] = $gID

最有效的方法是什么?有任何想法吗?我曾想过在两个 foreach 循环中执行此操作,但认为必须有更好的前进方式。

干杯克里斯

4

1 回答 1

0

一开始我不会太担心性能。尽管如此,您可以使用一个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));

我建议将其作为一项功能,以实现灵活性和易于维护。这样,如果您找到更高效的解决方案,则只有一个地方可以更新。

于 2012-08-01T19:36:02.027 回答