如何根据密钥获取多维数组的值?

时间:2013-06-03 06:44:02

标签: php

示例:

$animal = ("bird" => "crow", "cat" => "lion", "snake" => "cobra");

我想获取其键为

的所有值
function_name_get_value(["monkey","goat","bird"]);

我尝试使用array_key_exists(),但问题是我无法传递$animal变量,因为它指定了要在函数function_name_get_value上传递的参数

1 个答案:

答案 0 :(得分:1)

很简单,你需要传递2个参数,一个是key的名字,第二个是数组。

function getValue($arr, $key)
{
   return isset($arr[$key]) && is_array($arr) ? $arr[$key] : false;
}

如果你想获得更多的密钥,只需使用循环。

function getValue($arr, $keyArr)
{
   if(!is_array($arr) || !is_array($keyArr)) return false;

   $found = array();
   foreach($keyArray as $key)
   if(array_key_exists($key, $arr)) $found[$key] = $arr[$key];
   return $found;
}

array_key_exists需要两个参数,一个是键名,第二个是数组。我没有看到在数组中找到密钥的任何其他选项。您必须至少传递2个参数