首頁 >後端開發 >PHP問題 >php怎麼查詢陣列的key(鍵名)

php怎麼查詢陣列的key(鍵名)

青灯夜游
青灯夜游原創
2022-08-18 19:22:047426瀏覽

3種方法:1、用key()函數,可查詢目前陣列元素的key(鍵名),語法「key(陣列)」。 2.用array_keys()函數,可以取得數組的全部key,語法“array_keys(數組)”,也可取得指定值的key,語法“array_keys(數組,值,是否用嚴格模式)”。 3.用array_search(),可查詢指定值的key,語法「array_search(值,陣列)」。

php怎麼查詢陣列的key(鍵名)

本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦

php查詢陣列key (鍵名)的3種方法

方法1:使用key()函數查詢

key() 函數可以傳回陣列內部指標目前指向元素的鍵名,即獲得數組中目前元素的鍵名。

每個 PHP 陣列內部都有一個指針,該指標指向數組的某個元素,這個被指向的元素就是「目前元素」。

預設

<?php
$info = array(
    &#39;name&#39; => &#39;中文网&#39;,
    &#39;url&#39; => &#39;http&#39;,
    &#39;age&#39; => 8,
    &#39;desc&#39; => &#39;一个学习编程的网站&#39;,
    &#39;course&#39; => &#39;PHP教程&#39;
);
for ($i=0,$len=count($info); $i<$len; $i++) {
    echo key($info) . "<br/>";  //输出内部指针指向的当前元素的键
    next($info);  // 将数组内部指针向后移动一位
}
?>

php怎麼查詢陣列的key(鍵名)

#方法2:使用array_keys()函數查詢

array_key() 函數可以取得陣列中的部分或所有鍵名(下標),此函數語法格式如下:

array_keys($array,$search_value,$strict)

參數說明如下:

  •         $array:必選參數,為待操作的陣列;
  •         $search_value:可選參數,如果參數為空,則函數會傳回數組中的所有鍵名,如果指定了該參數,則函數只會傳回值為 $search_value 的鍵名;
  •         $strict:可選參數,判斷在搜尋的時候是否使用嚴格模式,$strict 預設為false,也就是非嚴格模式,在搜尋時只比較類型,不比較類型,若將$strict 設為true,也就是嚴格模式,在搜尋時同時比較值和類型,等價於===

array_key() 函數會以陣列形式傳回所得的陣列鍵名。

範例1:全部鍵名

<?php
$arr=array("Peter"=>65,"Harry"=>80,"John"=>78,"Clark"=>90);
var_dump($arr);
var_dump(array_keys($arr));
?>

php怎麼查詢陣列的key(鍵名)

#範例2:指定值的鍵名

<?php
$arr=array("Peter"=>65,"Harry"=>80,"John"=>78,"Clark"=>90);
var_dump($arr);
var_dump(array_keys($arr,80));
var_dump(array_keys($arr,"80"));
var_dump(array_keys($arr,"80",true));
?>

php怎麼查詢陣列的key(鍵名)

方法3:使用array_search() 函數查詢

array_search() 函數可以在陣列中搜尋指定鍵值,並傳回對應的鍵名。

array_search(value,array,strict)
參數 描述
value 必要。規定在數組中搜尋的鍵值。
array 必要。規定被搜尋的陣列。
strict 可選。如果該參數被設定為 TRUE,則函數在陣列中搜尋資料類型和值都一致的元素。可能的值:
  • true
  • false - 預設
# 如果設定為 true,則在陣列中檢查給定值的類型,數字 5 和字串 5 是不同的(請參閱實例 2)。
  • 傳回值:如果在陣列中找到指定的鍵值,則傳回對應的鍵名,否則傳回 FALSE。如果在陣列中找到鍵值超過一次,則傳回第一次找到的鍵值所符合的鍵名。    

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$arr=array("id"=>1,"name"=>"李华","age"=>23);
var_dump($arr);
echo "指定值&#39;李华&#39;对应的键名为:".array_search("李华",$arr);
?>

php怎麼查詢陣列的key(鍵名)

#推薦學習:《PHP影片教學

以上是php怎麼查詢陣列的key(鍵名)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn