2016-11-10 4 views
1

У меня есть многомерный массив, подобный этому;Получение позиции в массиве в многомерном массиве PHP

A: Array ( 
     [0] => Array ([id] => 1 [name] => name1) 
     [1] => Array ([id] => 2 [name] => name2) 
     [2] => Array ([id] => 3 [name] => name3) 
     ) 

И у меня такой массив;

B: Array ( 
     [0] => Array ([id] => 2 [name] => name2) 
     ) 

Как получить позицию $b в $a? Я хочу, чтобы выход как 0,1,2 ...

Иначе, если B = name2 я могу получить позицию из как 0,1,2 ...?

ответ

1

Вы можете использовать array_search()

array_search - поиск в массиве заданного значения и возвращает первый соответствующий ключ, если успешный

<?php 

$a= [ 
     ['id' => 1, 'name' => 'name1'], 
     ['id' => 2, 'name' => 'name2'], 
     ['id' => 3, 'name' => 'name3'], 
     ]; 

$b= ['id' => 2, 'name' => 'name2']; 

$index = array_search($b, $a); 

echo $index;  

?> 

Выход: 1

Так как ваш положение иглы находится в индексе 1 массива $ a, вы получите 1.

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