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

    ) 

Что мне нужно сделать, это поиск массива и возвращает истину, если статус = 1, если [идентификатор_группы] = $ GID

Что бы наиболее эффективным способ сделать это? Есть идеи? Я думал сделать это в двух петлях foreach, но думал, что должен быть лучший путь вперед.

Приветствия Крис

+2

Почему вы не можете просто проверить '$ data [$ gID] [status] == 1'? – Palladium

ответ

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

Я предлагаю сделать это функцией, обеспечивающей гибкость и простоту обслуживания. Таким образом, если вы найдете более эффективное решение, обновите только одно место.

Смежные вопросы