检查一个变量是否与另一个数组中的值匹配。

时间:2012-08-01 19:27:33

标签: php variables multidimensional-array

我有一个名为$ 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
            )

    )

我需要做的是搜索数组并在状态= 1时返回true,如果[groupId] = $ gID

最有效的方法是什么?有任何想法吗?我想在两个foreach循环中做到这一点,但认为必须有更好的前进方向。

干杯克里斯

1 个答案:

答案 0 :(得分: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));

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