判斷步驟:1、用array_unique()去除數組中的重復值,語法“array_unique(原數組)”,會返回一個去重數組;2、用count()分別獲取原數組和去重數組的數組長度,并判斷兩個數組長度是否相等,語法“count(原數組)==count(去重數組)”,如果兩個數組長度相等,則數組里沒有相同元素,反之則數組里有相同的元素。

本教程操作環境:windows7系統、PHP8.1版、DELL G3電腦
php判斷數組是否有相同的元素,就是判斷數組元素是否有重復值。
在php中,可以使用array_unique()和count()函數來進行判斷。
判斷步驟:
步驟1:使用array_unique()函數去除數組中的重復值
array_unique(array,sortingtype)
| 參數 | 描述 |
|---|---|
| array | 必需。規定數組。 |
| sortingtype | 可選。規定排序類型。可能的值:
|
返回值:返回過濾后的去重數組。
<?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 "去重后的數組:"; var_dump($res); ?>

步驟2:使用count()函數獲取原數組和去重數組的長度,并判斷兩個數組長度是否相等
count() 函數可以統計出數組里所有元素的數量,即獲取數組長度。
-
如果兩個數組長度相等,則數組里沒有重復值
-
如果兩個數組長度不相等,則表示有元素被去除了,即數組里有重復值。
<?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 "去重后的數組:"; var_dump($res); $len1=count($arr); $len2=count($res); echo "原數組的長度為: $len1 <br>"; echo "去重數組的長度為: $len2 <br><br>"; if($len1==$len2){ echo "兩數組長度相等,數組里有沒有相同的元素"; }else{ echo "兩數組長度不相等,數組里有相同的元素"; } ?>

說明:
count() 函數可以統計出數組里所有元素的數量,或對象中的屬性個數,其語法格式如下:
count($array , $mode )
參數說明如下:
- $array:為待統計的數組或對象;
- $mode:為可選參數,可以省略。
- 如果省略 $mode 參數,或者將其設置為 COUNT_NORMAL 或者 0,count() 函數將不檢測多維數組;
- 如果 $mode 設置為 COUNT_RECURSIVE 或者 1,count() 函數將遞歸計算數組中元素的個數,對于計算多維數組的元素個數尤為有用。
提示:如果 $array 既不是數組,也不是對象,count() 函數將返回 1;如果 $array 等于 NULL,則 count() 函數返回 0。
sizeof() 函數是 count() 函數的別名,也就是所 sizeof() 函數的功能及使用方法與 count() 函數完全相同。
推薦學習:《PHP視頻教程》
站長資訊網