溫馨提示×

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

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

php如何檢測(cè)數(shù)組中是否有指定值

發(fā)布時(shí)間:2022-08-31 09:48:13 來(lái)源:億速云 閱讀:145 作者:iii 欄目:編程語(yǔ)言

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

3種方法:1、用foreach語(yǔ)句和“==”運(yùn)算符,語(yǔ)法“foreach($arr as $v){if($v==指定值){//存在}}”。2、用in_array(),語(yǔ)法“in_array("指定值",數(shù)組)”,返回TRUE則存在,反之不存在。3、用array_search(),語(yǔ)法“array_search("指定值",數(shù)組)”,如果值存在則返回對(duì)應(yīng)鍵名,反之返回false。

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

php檢測(cè)數(shù)組中是否有指定值的三種方法

方法1:使用foreach語(yǔ)句和“==”運(yùn)算符

  • foreach語(yǔ)句循環(huán)遍歷數(shù)組

  • 在循環(huán)體中,使用“==”運(yùn)算符比較當(dāng)前元素是否等于指定值

<?php
header('content-type:text/html;charset=utf-8');   
$arr = array(1,"2",2,3,"4",4,5);
foreach($arr as $v){
	if($v==1){
		echo "指定值存在<br>";
		break;
	}
}
?>

php如何檢測(cè)數(shù)組中是否有指定值

優(yōu)化一下:

<?php
header('content-type:text/html;charset=utf-8');   
function f($arr,$val){
	$con=0;
	foreach($arr as $v){
		if($v==$val){
			$con=1;
			break;
		}else{
		    $con=0;
		}
	}
	if($con==1){
		echo "指定值 $val 存在<br>";
	}else{
	    echo "指定值 $val 不存在<br>";
	}
}

$sites = array(1,"2",2,3,"4",4,5);
f($sites,"1");
f($sites,2);
f($sites,"4");
?>

php如何檢測(cè)數(shù)組中是否有指定值

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

在php中,想要查詢數(shù)組是否存在某值,可以直接使用內(nèi)置函數(shù)in_array()

in_array() 函數(shù)搜索數(shù)組中是否存在指定的值。語(yǔ)法格式:

in_array ( $search , $array ,$strict)
參數(shù)描述
search必需。規(guī)定要在數(shù)組搜索的值。
array必需。規(guī)定要搜索的數(shù)組。
strict              可選。如果該參數(shù)設(shè)置為 TRUE,則 in_array() 函數(shù)檢查搜索的數(shù)據(jù)與數(shù)組的值的類型是否相同。

返回值:如果在數(shù)組中找到值則返回 TRUE,否則返回 FALSE。    

示例:

<?php
header('content-type:text/html;charset=utf-8');   
function f($arr,$val){
	if (in_array($val, $arr)){
		echo "指定值 $val 存在<br>";
	}else{
	    echo "指定值 $val 不存在<br>";
	}
}

$sites = array(1,"2",2,3,"4",4,5);
f($sites,"1");
f($sites,2);
f($sites,6);
?>

php如何檢測(cè)數(shù)組中是否有指定值

方法3:使用array_search()函數(shù)

array_search() 函數(shù)在數(shù)組中搜索某個(gè)鍵值,并返回對(duì)應(yīng)的鍵名。

利用該函數(shù)也可以查詢數(shù)組是否有存在某值,如果存在則則返回對(duì)應(yīng)鍵名,如果不存在則返回false。

語(yǔ)法:

array_search(value,array,strict)
參數(shù)描述
value必需。規(guī)定在數(shù)組中搜索的鍵值。
array必需。規(guī)定被搜索的數(shù)組。
strict可選。如果該參數(shù)被設(shè)置為 TRUE,則函數(shù)在數(shù)組中搜索數(shù)據(jù)類型和值都一致的元素??赡艿闹担?ul class=" list-paddingleft-2">
  • true

  • false - 默認(rèn)

  • 如果設(shè)置為 true,則在數(shù)組中檢查給定值的類型,數(shù)字 5 和字符串 5 是不同的(參見(jiàn)實(shí)例 2)。

    返回值:

    • 如果在數(shù)組中找到指定的鍵值,則返回對(duì)應(yīng)的鍵名,否則返回 FALSE。如果在數(shù)組中找到鍵值超過(guò)一次,則返回第一次找到的鍵值所匹配的鍵名。

    示例:

    <?php
    header('content-type:text/html;charset=utf-8');   
    function f($arr,$val){
    	$res=array_search($val, $arr);
    	var_dump($res);
    }
    
    $sites = array(1,"2",2,3,"4",4,5);
    f($sites,"1");
    f($sites,2);
    f($sites,6);
    ?>

    php如何檢測(cè)數(shù)組中是否有指定值

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

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

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

    php
    AI