2012-08-01 157 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)); 

我建議讓這個功能,靈活性和易於維護。這樣,如果您找到更高性能的解決方案,則只有一個地方需要更新。

相關問題