Php 从多维数组中获取具有特定值的键
我有一个如下所示的数组:Php 从多维数组中获取具有特定值的键,php,arrays,multidimensional-array,array-key,Php,Arrays,Multidimensional Array,Array Key,我有一个如下所示的数组: $array=["satu"=>"mangga","dua"=>array("melon","apel")]; 如何使用$buah=“甜瓜”获得“dua” 我尝试过这个方法,当$buah=“mangga”时,输出是“satu”,但是当$buah=“meloon”我什么都没有得到时,我怎么能用$buah=“meloon”得到“dua”。多谢各位 $array=["satu"=>"mangga","dua"=>array("melon","apel
$array=["satu"=>"mangga","dua"=>array("melon","apel")];
如何使用$buah=“甜瓜”获得“dua”
我尝试过这个方法,当$buah=“mangga”时,输出是“satu”,但是当$buah=“meloon”我什么都没有得到时,我怎么能用$buah=“meloon”得到“dua”。多谢各位
$array=["satu"=>"mangga","dua"=>array("melon","apel")];
$buah = "melon";
$a = array_search($buah,$array);
if(is_array($a)){
$x= array_search($buah,$a);
echo $x;
}else{
echo $a;
}
试试这段代码,它将适用于你的数组结构
<?php
$array=array(
"satu"=>"mangga",
"dua"=>array(
"melon",
"apel",
),
);
foreach($array as $key=>$value)
{
if(is_array($value))
{
foreach($value as $key1=>$value1)
{
if($value1=="melon")
{
echo $value1;
}
}
}
else if($value=="melon")
{
echo $value;
}
}
?>
然而,如果您想使它成为任何结构的全局函数,您可以将foreach放在一个函数中,并对其进行递归调用。希望此帮助:)请参阅此帮助:
<?php
$haystack=array("satu"=>"mangga","dua"=>array("melon","apel"));
$needle = "melon";
function recursive_array_search($needle,$haystack) {
foreach($haystack as $key=>$value) {
$current_key=$key;
if(is_array($value)) {
foreach($value as $val){
if($needle == $val)
echo $current_key;
}
}else if($needle == $value){
echo $current_key;
}
}
}
recursive_array_search($needle,$haystack);
?>
他想得到密钥,你在回显该值。这很有效,只需将$value1&$value更改为$key即可。非常感谢:你可以使用数组()中的来搜索子数组。
你不需要为每个再添加一个。