$animal = ("bird" => "crow", "cat" => "lion", "snake" => "cobra");
我想獲得它的鍵是
function_name_get_value(["monkey","goat","bird"]);
我試着用array_key_exists()
但問題是,因爲它被指定我不能通過$animal
變量什麼論據是所有值傳遞函數function_name_get_value
$animal = ("bird" => "crow", "cat" => "lion", "snake" => "cobra");
我想獲得它的鍵是
function_name_get_value(["monkey","goat","bird"]);
我試着用array_key_exists()
但問題是,因爲它被指定我不能通過$animal
變量什麼論據是所有值傳遞函數function_name_get_value
很簡單,你只需要傳遞2個參數,一個是鍵的名稱,另一個是數組。
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需要兩個參數一個是keyname,另一個是數組。我沒有看到任何其他選項來找到陣列中的一個鍵。您必須至少通過2個參數
該問題指定唯一的參數是[「猴」,「山羊」,「鳥」]。 – user2429302
我不想寫它,但爲您的解決方案是使用** $ _ GLOBALS **關鍵字; /你確定你不能通過我建議的方式的另一個參數?這個函數的主體是什麼,你爲什麼需要使用它? http://www.php.net/manual/en/reserved.variables.globals.php – Robert
首先,這不是一個多維數組。其次是這一行的語法:'unction_name_get_value([「monkey」,「goat」,「bird」]);'不正確。你可以做'$ animal ['monkey']'來獲得值。你試圖做什麼? – botenvouwer
多維數組是一個數組,如:array('a'=> array('b')),你的$動物數組是一個平坦的數組。正如sirwilliam提到的,你可以以$ animal ['monkey']的形式訪問數組元素。如果你需要一個函數來返回給定鍵的值,那麼你需要使用$ _GLOBAL數組,這是一個不好的習慣。 – WASD42
@sirwilliam:該數組的sytax不正確,但方括號自PHP 5.4起罰款。 – Ryan