溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php如何檢查數(shù)組是否有某個(gè)鍵值對(duì)

發(fā)布時(shí)間:2022-10-12 10:14:36 來源:億速云 閱讀:108 作者:iii 欄目:編程語言

這篇文章主要講解了“php如何檢查數(shù)組是否有某個(gè)鍵值對(duì)”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“php如何檢查數(shù)組是否有某個(gè)鍵值對(duì)”吧!

實(shí)現(xiàn)步驟:1、定義一個(gè)只包含指定鍵值對(duì)的數(shù)組,語法“$變量名=["鍵名"=>"鍵值"];”;2、利用array_intersect_assoc()函數(shù)將該鍵值對(duì)數(shù)組和原數(shù)組進(jìn)行比較,語法“array_intersect_assoc(原數(shù)組,鍵值對(duì)數(shù)組)”,會(huì)返回一個(gè)包含相同元素的交集數(shù)組;3、判斷交集數(shù)組是否為空數(shù)組,語法“交集數(shù)組===[]”,如果為空則數(shù)組中沒有指定鍵值對(duì)。

本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦

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

實(shí)現(xiàn)步驟:

步驟1:定義一個(gè)只包含指定鍵值對(duì)的數(shù)組

$變量名=["鍵名"=>"鍵值"];

步驟2:利用array_intersect_assoc()函數(shù)將該鍵值對(duì)數(shù)組和原數(shù)組進(jìn)行比較

array_intersect_assoc() 函數(shù)用于比較兩個(gè)(或更多個(gè))數(shù)組的鍵名和鍵值,并返回交集(包含相同元素的交集數(shù)組)。

array_intersect_assoc(原數(shù)組,鍵值對(duì)數(shù)組)

步驟3:判斷交集數(shù)組是否為空數(shù)組

交集數(shù)組===[]

  • 如果為空,則數(shù)組中沒有指定鍵值對(duì)

  • 如果不為空,則數(shù)組中有指定鍵值對(duì)

實(shí)現(xiàn)代碼:

<?php
header('content-type:text/html;charset=utf-8');
function f($arr,$s){
	$assoc=array_intersect_assoc($arr,$s);
	// 檢查數(shù)組是否為空
	if($assoc===[]) {
		echo "數(shù)組中沒有指定鍵值對(duì)"; //數(shù)組為空
	}
	    
	else{
		echo "數(shù)組中有指定鍵值對(duì)"; //數(shù)組不為空
	}  
}

$arr=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
echo '原數(shù)組:';
var_dump($arr);
$s=["b"=>"green"];
echo '指定鍵值對(duì):';
var_dump($s);

f($arr,$s);
?>

php如何檢查數(shù)組是否有某個(gè)鍵值對(duì)

說明:

array_intersect_assoc()函數(shù)--比較數(shù)組的鍵名和鍵值

該函數(shù)比較兩個(gè)(或更多個(gè))數(shù)組的鍵名和鍵值,并返回一個(gè)交集數(shù)組,該數(shù)組包括了所有在被比較的數(shù)組(array1)中,同時(shí)也在任何其他參數(shù)數(shù)組(array2 或 array3 等等)中的鍵名和鍵值。

array_intersect_assoc(array1,array2,array3...)

參數(shù)描述
array1必需。與其他數(shù)組進(jìn)行比較的第一個(gè)數(shù)組。
array2必需。與第一個(gè)數(shù)組進(jìn)行比較的數(shù)組。
array3,...可選。與第一個(gè)數(shù)組進(jìn)行比較的其他數(shù)組。

返回值:返回一個(gè)交集數(shù)組,該數(shù)組包括了所有在被比較的數(shù)組(array1)中,同時(shí)也在任何其他參數(shù)數(shù)組(array2 或 array3 等等)中的鍵名和鍵值。

擴(kuò)展知識(shí):判斷空數(shù)組的另兩種方法

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

一個(gè)長度為0的數(shù)組我們稱之為“空數(shù)組”,空數(shù)組是一個(gè)真正的對(duì)象,只是包含元素個(gè)數(shù)為0。

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

count($arr,$m)

$m:為可選參數(shù),可以省略。

  • 如果省略 $m 參數(shù),或者將其設(shè)置為 COUNT_NORMAL 或者 0,count() 函數(shù)將不檢測多維數(shù)組;

  • 如果 $m 設(shè)置為 COUNT_RECURSIVE 或者 1,count() 函數(shù)將遞歸計(jì)算數(shù)組中元素的個(gè)數(shù),對(duì)于計(jì)算多維數(shù)組的元素個(gè)數(shù)尤為有用。

<?php  
header("content-type:text/html;charset=utf-8");
// 聲明一個(gè)空數(shù)組
$empty_array = array(); 
   
// 檢查數(shù)組是否為空
if(count($empty_array) == 0) 
    echo "數(shù)組為空"; 
else
    echo "數(shù)組不為空"; 
?>

php如何檢查數(shù)組是否有某個(gè)鍵值對(duì)

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

方法2:使用empty()函數(shù)

empty() 函數(shù)用于檢查一個(gè)變量是否為空。

empty() 判斷一個(gè)變量是否被認(rèn)為是空的。當(dāng)一個(gè)變量并不存在,或者它的值等同于 FALSE,那么它會(huì)被認(rèn)為不存在。如果變量不存在的話,empty()并不會(huì)產(chǎn)生警告。

說明:任何一個(gè)未初始化的變量、值為 0 或 false 或 空字符串”” 或 null的變量、空數(shù)組、沒有任何屬性的對(duì)象,都將判斷為empty==true

當(dāng)變量 存在,并且是一個(gè)非空非零的值時(shí)返回 FALSE 否則返回 TRUE。

<?php  
header("content-type:text/html;charset=utf-8");
// 聲明一個(gè)空數(shù)組
$array = []; 
   
// 檢查數(shù)組是否為空
if(empty($array)) 
    echo "數(shù)組為空"; 
else
    echo "數(shù)組不為空"; 
?>

php如何檢查數(shù)組是否有某個(gè)鍵值對(duì)

感謝各位的閱讀,以上就是“php如何檢查數(shù)組是否有某個(gè)鍵值對(duì)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)php如何檢查數(shù)組是否有某個(gè)鍵值對(duì)這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI