判斷步驟:1、用array_unique()去除數(shù)組中的重復(fù)值,語法“array_unique(原數(shù)組)”,會返回一個去重數(shù)組;2、用count()分別獲取原數(shù)組和去重數(shù)組的數(shù)組長度,并判斷兩個數(shù)組長度是否相等,語法“count(原數(shù)組)==count(去重數(shù)組)”,如果兩個數(shù)組長度相等,則數(shù)組里沒有相同元素,反之則數(shù)組里有相同的元素。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
php判斷數(shù)組是否有相同的元素,就是判斷數(shù)組元素是否有重復(fù)值。
在php中,可以使用array_unique()和count()函數(shù)來進行判斷。
判斷步驟:
步驟1:使用array_unique()函數(shù)去除數(shù)組中的重復(fù)值
array_unique(array,sortingtype)
參數(shù) | 描述 |
---|---|
array | 必需。規(guī)定數(shù)組。 |
sortingtype | 可選。規(guī)定排序類型??赡艿闹担?/p>
|
返回值:返回過濾后的去重數(shù)組。
<?php header('content-type:text/html;charset=utf-8'); $arr=array(3,4,2,3,6,4,7,2,8,9,1); var_dump($arr); $res=array_unique($arr); echo "去重后的數(shù)組:"; var_dump($res); ?>
步驟2:使用count()函數(shù)獲取原數(shù)組和去重數(shù)組的長度,并判斷兩個數(shù)組長度是否相等
count() 函數(shù)可以統(tǒng)計出數(shù)組里所有元素的數(shù)量,即獲取數(shù)組長度。
-
如果兩個數(shù)組長度相等,則數(shù)組里沒有重復(fù)值
-
如果兩個數(shù)組長度不相等,則表示有元素被去除了,即數(shù)組里有重復(fù)值。
<?php header('content-type:text/html;charset=utf-8'); $arr=array(3,4,2,3,6,4,7,2,8,9,1); var_dump($arr); $res=array_unique($arr); echo "去重后的數(shù)組:"; var_dump($res); $len1=count($arr); $len2=count($res); echo "原數(shù)組的長度為: $len1 <br>"; echo "去重數(shù)組的長度為: $len2 <br><br>"; if($len1==$len2){ echo "兩數(shù)組長度相等,數(shù)組里有沒有相同的元素"; }else{ echo "兩數(shù)組長度不相等,數(shù)組里有相同的元素"; } ?>
說明:
count() 函數(shù)可以統(tǒng)計出數(shù)組里所有元素的數(shù)量,或?qū)ο笾械膶傩詡€數(shù),其語法格式如下:
count($array , $mode )
參數(shù)說明如下:
- $array:為待統(tǒng)計的數(shù)組或?qū)ο螅?/li>
- $mode:為可選參數(shù),可以省略。
- 如果省略 $mode 參數(shù),或者將其設(shè)置為 COUNT_NORMAL 或者 0,count() 函數(shù)將不檢測多維數(shù)組;
- 如果 $mode 設(shè)置為 COUNT_RECURSIVE 或者 1,count() 函數(shù)將遞歸計算數(shù)組中元素的個數(shù),對于計算多維數(shù)組的元素個數(shù)尤為有用。
提示:如果 $array 既不是數(shù)組,也不是對象,count() 函數(shù)將返回 1;如果 $array 等于 NULL,則 count() 函數(shù)返回 0。
sizeof() 函數(shù)是 count() 函數(shù)的別名,也就是所 sizeof() 函數(shù)的功能及使用方法與 count() 函數(shù)完全相同。
推薦學(xué)習(xí):《PHP視頻教程》