我試圖通過搜索它的值從數組中獲得密鑰。在下面的代碼中,我不明白爲什麼array_search()
在$url
文件擴展名是"xls"
時找不到密鑰,但是當它是"php"
時它可以。我注意到類似的問題,無法使用in_array()
和array_keys()
「找到」"xls"
。php array_search關聯數組
$url='http://mysite.com/hello.xls';
$url='http://mysite.com/hello.php';
$extension_arr=pathinfo($url);
$extension=strtolower($extension_arr['extension']);
$arr=array(
'excel_file'=>'xls',
'excel_file'=>'xlsx',
'php_file' =>'php'
);
$array_search_key=array_search($extension, $arr);
if($array_search_key !== false){
echo $array_search_key;
}
else echo 'crap';
你需要翻轉數組的鍵和值,這是不可能的一個以上的值與關聯一個給定的鍵。您可以使用['isset()'](http://php.net/isset)在交換鍵和值時執行所需的功能。 – DaveRandom
@DaveRandom謝謝。看起來這也可以通過給每個鍵設置自己的唯一值來解決,比如「excel_file xls''和」excel_file xlsx''。你介意做出一個回答翻轉鍵和值的答案嗎? –