實現步驟:1、定義一個只包含指定鍵值對的陣列,語法「$變數名=["鍵名"=>"鍵值"];」;2、利用array_intersect_assoc()函數將該鍵值對陣列和原陣列進行比較,語法「array_intersect_assoc(原陣列,鍵值對陣列)」,會返回一個包含相同元素的交集陣列;3、判斷交集陣列是否為空陣列,語法「交集陣列===[]」,如果為空則陣列中沒有指定鍵值對。
php入門到就業線上直播課:進入學習
API 檔案、設計、偵錯、自動化測試一體化共同作業工具:
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
在PHP中,可以利用array_intersect_assoc()函數來檢查陣列是否有指定鍵值對。
實現步驟:
步驟1:定義一個只包含指定鍵值對的陣列
$變數名=["鍵名"=>"鍵值"];
登入後複製
步驟2:利用array_intersect_assoc()函數將該鍵值對陣列和原陣列進行比較
array_intersect_assoc() 函數用於比較兩個(或更多個)陣列的鍵名和鍵值,並返回交集(包含相同元素的交集陣列)。
array_intersect_assoc(原陣列,鍵值對陣列)
登入後複製
步驟3:判斷交集陣列是否為空陣列
交集陣列===[]
登入後複製
如果為空,則陣列中沒有指定鍵值對
如果不為空,則陣列中有指定鍵值對
實現程式碼:
<?php
header('content-type:text/html;charset=utf-8');
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 '原陣列:';
var_dump($arr);
$s=["b"=>"green"];
echo '指定鍵值對:';
var_dump($s);
f($arr,$s);
?>
登入後複製
說明:
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 "陣列不為空";
?>
登入後複製
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怎麼檢查陣列是否有某個鍵值對的詳細內容,更多請關注TW511.COM其它相關文章!