2015-04-03 4 views
-1

У меня есть массив как это:Поиск в массиве по определенному значению

// The Main(Mother) array 
[id] => 1 
[content] => co1 
[author_id] => 2 
[date] => 1 
[parent_id] => 0 
[childs] => Array 
    (

     [0] => Array 
      (
       // The first child 
       [id] => 1 
       [content] => co1 
       [author_id] => 3 
       [parent_id] => 1 
       [childs] => Array 
        (
        ) 

      ) 
     [1] => Array 
       (
        // The second child 
        [id] => 2 
        [content] => co2 
        [author_id] => 2 
        [parent_id] => 2 
        [childs] => Array 
         (
         ) 

       ) 
     // and another child ..... 

    ) 

Теперь я хочу, чтобы искать в ребенка s так:

search query : number of child where [id] = 1 ? => php tell me [0] 
or 
search query : number of child where [id] = 2 ? => php tell me [1] 
or 
search query : number of child where [content] => co1 ? => php tell me [1] 

Я проверил array_search();, но он ищет между всеми параметрами!

Как я могу это сделать? Например, есть запрос, как это в SQL:

SELECT id FROM table WHERE date='2015.5.2' 

Пожалуйста, обратите внимание я не могу использовать array_search(), потому что он просто ищет между содержанием, в то время как я просто хочу найти номер ребенка, в котором id = 1 ,

Я знаю, что могу сделать это с помощью цикла foreach, но я хочу найти сухой способ оптимизации моего кода. Я хочу что-то подобное в PHP и для массивов.

ответ

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