2012-08-01 67 views
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,如果状态= 1,如果[的groupId] = $ GID

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

干杯克里斯

+2

为什么你不能检查'$ data [$ gID] [status] == 1'? – Palladium 2012-08-01 19:31:18

回答

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)); 

我建议让这个功能,灵活性和易于维护。这样,如果您找到更高性能的解决方案,则只有一个地方需要更新。

相关问题