首頁 > 後端開發 > PHP問題 > php怎麼檢查陣列是否有某個鍵值對

php怎麼檢查陣列是否有某個鍵值對

青灯夜游
發布: 2023-03-16 22:28:02
原創
2516 人瀏覽過

實作步驟:1、定義一個只包含指定鍵值對的數組,語法「$變數名稱=["鍵名"=>"鍵值"];」;2、利用array_intersect_assoc()函數將該鍵值對數組和原數組進行比較,語法“array_intersect_assoc(原始數組,鍵值對數組)”,會傳回一個包含相同元素的交集數組;3、判斷交集數組是否為空數組,語法“交集數組===[]”,如果為空則數組中沒有指定鍵值對。

php怎麼檢查陣列是否有某個鍵值對

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

在PHP中,可以利用array_intersect_assoc()函數來檢查數組是否有指定鍵值對。

實作步驟:

步驟1:定義一個只包含指定鍵值對的陣列

$变量名=["键名"=>"键值"];
登入後複製

步驟2:利用array_intersect_assoc()函數將該鍵值對數組和原始數組進行比較

array_intersect_assoc() 函數用於比較兩個(或更多)數組的鍵名和鍵值,並傳回交集(包含相同元素的交集數組)。

array_intersect_assoc(原数组,键值对数组)
登入後複製

步驟3:判斷交集數組是否為空數組

交集数组===[]
登入後複製
  • 如果為空,則數組中沒有指定鍵值對

  • 如果不為空,則陣列中有指定鍵值對

實作程式碼:

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);
function f($arr,$s){
	$assoc=array_intersect_assoc($arr,$s);
	// 检查数组是否为空
	if($assoc===[]) {
		echo "数组中没有指定键值对"; //数组为空
	}
	    
	else{
		echo "数组中有指定键值对"; //数组不为空
	}  
}

$arr=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
echo &#39;原数组:&#39;;
var_dump($arr);
$s=["b"=>"green"];
echo &#39;指定键值对:&#39;;
var_dump($s);

f($arr,$s);
?>
登入後複製

php怎麼檢查陣列是否有某個鍵值對

說明:

array_intersect_assoc()函數--比較陣列的鍵名和鍵值

該函數比較兩個(或更多個)數組的鍵名和鍵值,並傳回交集數組,該數組包括了所有在比較的數組(array1)中,同時也在任何其他參數數組(array2 或 array3 等等)中的鍵名和鍵值。

array_intersect_assoc(array1,array2,array3...)
登入後複製
參數描述
#array1必要。與其他數組進行比較的第一個數組。
array2必要。與第一個數組進行比較的數組。
array3,...可選。與第一個數組進行比較的其他數組。

傳回值:傳回交集數組,該數組包含了所有在比較的數組(array1)中,同時也在任何其他參數數組(array2 或 array3 等等)中的鍵名和鍵值。

擴充知識:判斷空數組的另兩種方法

方法1:使用count( )或sizeof()函數

一個長度為0的數組我們稱之為“空數組”,空數組是一個真正的對象,只是包含元素個數為0。

因此,我們可以使用count()函數計算數組的長度,然後判斷該長度是否為0;如果為0則為空數組,反之不為空數組。

count($arr,$m)
登入後複製

$m:為可選參數,可省略。

  • 如果省略$m 參數,或設定為COUNT_NORMAL 或0,count() 函數將不偵測多維數組;

  • 如果$m 設定為COUNT_RECURSIVE 或1,count() 函數將遞歸計算數組中元素的個數,對於計算多維數組的元素個數特別有用。

<?php  
header("content-type:text/html;charset=utf-8");
// 声明一个空数组
$empty_array = array(); 
   
// 检查数组是否为空
if(count($empty_array) == 0) 
    echo "数组为空"; 
else
    echo "数组不为空"; 
?>
登入後複製

php怎麼檢查陣列是否有某個鍵值對

sizeof()函數是count() 函數的別名,也就是所sizeof() 函數的功能及使用方法與count() 函數完全相同。

方法2:使用empty()函數

empty() 函數用來檢查變數是否為空。

empty() 判斷變數是否被認為是空的。當一個變數並不存在,或它的值等同於 FALSE,那麼它會被認為不存在。如果變數不存在的話,empty()並不會產生警告。

說明:任何一個未初始化的變數、值為0 或false 或空字串」” 或null的變數、空數組、沒有任何屬性的對象,都會判斷為empty==true

當變數存在,且非空非零的值時傳回FALSE 否則回傳TRUE。

<?php  
header("content-type:text/html;charset=utf-8");
// 声明一个空数组
$array = []; 
   
// 检查数组是否为空
if(empty($array)) 
    echo "数组为空"; 
else
    echo "数组不为空"; 
?>
登入後複製

php怎麼檢查陣列是否有某個鍵值對

推薦學習:《PHP影片教學

以上是php怎麼檢查陣列是否有某個鍵值對的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板