首頁 >後端開發 >PHP問題 >php怎麼查詢指定值是陣列中的第幾個元素

php怎麼查詢指定值是陣列中的第幾個元素

青灯夜游
青灯夜游原創
2022-08-23 19:47:553107瀏覽

查詢步驟:1、利用array_values()函數重設數組鍵名,將陣列轉為索引數組,語法「array_values(數組)」;2、利用array_search()函數取得指定值在索引數組中的位置(索引值1)即可,語法「array_search("指定值",索引數組) 1」。

php怎麼查詢指定值是陣列中的第幾個元素

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

在PHP中,可以使用array_values()和array_search()函數來查詢指定值是陣列中的第幾個元素。

實作步驟:

步驟1:利用array_values()函數將陣列轉換成索引陣列

##array_values()函數傳回包含數組中所有的值的數組。

簡單來說,函數可以重置陣列鍵名,將鍵名轉換為從0開始的索引值。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$arr=array("a"=>"aa","b"=>"bb","c"=>"cc","d"=>"dd","e"=>"ee");
var_dump($arr);
$values=array_values($arr);
var_dump($values);
?>

php怎麼查詢指定值是陣列中的第幾個元素

步驟2:利用array_search()函數取得指定值在索引數組中的位置

array_search() 函數搜索指定鍵值,並傳回對應的鍵名,即傳回對應的索引值。

因為索引值是從0開始計數的,和準確位置值之間差值為1;所以將

索引值1即可查詢指定值是數組中的第幾個元素。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$arr=array("a"=>"aa","b"=>"bb","c"=>"cc","d"=>"dd","e"=>"ee");
var_dump($arr);
$values=array_values($arr);
var_dump($values);
$index=array_search("bb",$values,true)+1;
echo "指定值是数组中的第 $index 个元素";
?>

php怎麼查詢指定值是陣列中的第幾個元素

將關鍵程式碼封裝:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;); 
function f($a,$s){
	$v=array_values($a);
	$index=array_search($s,$v,true)+1;
	echo "指定值 $s 是数组中的第 $index 个元素<br>";
}

  
$arr=array("a"=>"aa","b"=>"bb","c"=>"cc","d"=>"dd","e"=>"ee");
var_dump($arr);
f($arr,"bb");
f($arr,"aa");
f($arr,"dd");
?>

php怎麼查詢指定值是陣列中的第幾個元素

#說明:
array_search(value,array,strict)
參數valuearraytruefalse - 預設
array_search() 函數在陣列中搜尋某個鍵值,並傳回對應的鍵名。
描述
必要。規定在數組中搜尋的鍵值。
必要。規定被搜尋的陣列。
  • strict
  • 可選。如果該參數被設定為 TRUE,則函數在陣列中搜尋資料類型和值都一致的元素。可能的值:
    # 如果設定為 true,則在陣列中檢查給定值的類型,數字 5 和字串 5 是不同的(請參閱實例 2)。

傳回值:如果在陣列中找到指定的鍵值,則傳回對應的鍵名,否則傳回 FALSE。如果在陣列中找到鍵值超過一次,則傳回第一次找到的鍵值所符合的鍵名。    

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

以上是php怎麼查詢指定值是陣列中的第幾個元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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