如何搜索php数组并获得相应的键值(如果匹配)

问题描述 投票:0回答:2

我需要在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
}
arrays associative
2个回答
0
投票

一种有趣的方法是使用array_unique和SORT_REGULAR选项首先删除重复项,然后您可以使用此重复列表从数组中删除,只留下重复项。

print_r(array_unique($ array,SORT_REGULAR));


0
投票

您可以使用foreach循环轻松遍历多维数组,并将每个数组的id值与您的值进行比较。

<?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;
    }
}
?>
© www.soinside.com 2019 - 2024. All rights reserved.