Как найти массив php и получить соответствующее значение ключа, если оно совпадает - PullRequest
0 голосов
/ 02 апреля 2019

Мне нужно найти многомерный массив в php и вернуть соответствующее значение другого ключа, если мой ключ и значение совпадают

$my_array = array(    
    0 =>  array(  
        "name"   => "john",  
        "id"    =>  4  
    ),  
    1   =>  array(  
        "name" =>  "mark",  
        "id" => 152  
    ), 
    2   =>  array(  
        "name" =>  "Eduard",  
        "id" => 152  
    )
);

if (array_search(152, array_column($my_array, 'id')) !== FALSE){
  I want the corresponding key and value here
i.e name="mark" in this case
}

Ответы [ 2 ]

0 голосов
/ 02 апреля 2019

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

<?php
$array = array(
    0 =>  array(  
        "name"   => "john",  
        "id"     =>  4  
    ),  
    1   =>  array(  
        "name" =>  "mark",  
        "id" => 152  
    ), 
    2   =>  array(  
        "name" =>  "Eduard",  
        "id" => 152 
    )
);

foreach($array as $arr){
    if($arr['id'] === 152){
        echo $arr['name'];
        break;
    }
}
?>
0 голосов
/ 02 апреля 2019

Один интересный способ - использовать array_unique с опцией SORT_REGULAR, чтобы сначала удалить дубликаты, затем вы можете использовать этот список, в котором нет дубликатов, чтобы удалить из массива, оставив только дубликаты.

print_r (array_unique ($ array, SORT_REGULAR));

...