3種方法:1、用key()函數(shù),可查詢當(dāng)前數(shù)組元素的key(鍵名),語法“key(數(shù)組)”。2、用array_keys()函數(shù),可以獲取數(shù)組的全部key,語法“array_keys(數(shù)組)”,也可獲取指定值的key,語法“array_keys(數(shù)組,值,是否用嚴(yán)格模式)”。3、用array_search(),可查詢指定值的key,語法“array_search(值,數(shù)組)”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
php查詢數(shù)組key(鍵名)的3種方法
方法1:使用key()函數(shù)查詢
key() 函數(shù)可以返回?cái)?shù)組內(nèi)部指針當(dāng)前指向元素的鍵名,即獲得數(shù)組中當(dāng)前元素的鍵名。
每個(gè) PHP 數(shù)組內(nèi)部都有一個(gè)指針,該指針指向數(shù)組的某個(gè)元素,這個(gè)被指向的元素就是“當(dāng)前元素”。
默認(rèn)
<?php $info = array( 'name' => '中文網(wǎng)', 'url' => 'http', 'age' => 8, 'desc' => '一個(gè)學(xué)習(xí)編程的網(wǎng)站', 'course' => 'PHP教程' ); for ($i=0,$len=count($info); $i<$len; $i++) { echo key($info) . "<br/>"; //輸出內(nèi)部指針指向的當(dāng)前元素的鍵 next($info); // 將數(shù)組內(nèi)部指針向后移動(dòng)一位 } ?>
方法2:使用array_keys()函數(shù)查詢
array_key() 函數(shù)可以獲取數(shù)組中的部分或所有鍵名(下標(biāo)),該函數(shù)語法格式如下:
array_keys($array,$search_value,$strict)
參數(shù)說明如下:
- $array:必選參數(shù),為待操作的數(shù)組;
- $search_value:可選參數(shù),如果參數(shù)為空,則函數(shù)會(huì)返回?cái)?shù)組中的所有鍵名,如果指定了該參數(shù),則函數(shù)就只會(huì)返回值為 $search_value 的鍵名;
- $strict:可選參數(shù),判斷在搜索的時(shí)候是否使用嚴(yán)格模式,$strict 默認(rèn)為 false,也就是非嚴(yán)格模式,在搜索時(shí)只比較類型,不比較類型,若將 $strict 設(shè)置為 true,也就是嚴(yán)格模式,在搜索時(shí)同時(shí)比較值和類型,等價(jià)于
===
。
array_key() 函數(shù)會(huì)以數(shù)組形式返回得到的數(shù)組鍵名。
示例1:全部鍵名
<?php $arr=array("Peter"=>65,"Harry"=>80,"John"=>78,"Clark"=>90); var_dump($arr); var_dump(array_keys($arr)); ?>
示例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)); ?>
方法3:使用array_search() 函數(shù)查詢
array_search() 函數(shù)可以在數(shù)組中搜索指定鍵值,并返回對應(yīng)的鍵名。
array_search(value,array,strict)
參數(shù) | 描述 |
---|---|
value | 必需。規(guī)定在數(shù)組中搜索的鍵值。 |
array | 必需。規(guī)定被搜索的數(shù)組。 |
strict | 可選。如果該參數(shù)被設(shè)置為 TRUE,則函數(shù)在數(shù)組中搜索數(shù)據(jù)類型和值都一致的元素。可能的值:
如果設(shè)置為 true,則在數(shù)組中檢查給定值的類型,數(shù)字 5 和字符串 5 是不同的(參見實(shí)例 2)。 |
-
返回值:如果在數(shù)組中找到指定的鍵值,則返回對應(yīng)的鍵名,否則返回 FALSE。如果在數(shù)組中找到鍵值超過一次,則返回第一次找到的鍵值所匹配的鍵名。
<?php header('content-type:text/html;charset=utf-8'); $arr=array("id"=>1,"name"=>"李華","age"=>23); var_dump($arr); echo "指定值'李華'對應(yīng)的鍵名為:".array_search("李華",$arr); ?>
推薦學(xué)習(xí):《PHP視頻教程》