判斷步驟: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 既不是數組,也不是對象,count() 函數將返回1;如果$array 等於NULL,則count() 函數返回0。
sizeof() 函數是 count() 函數的別名,也就是所 sizeof() 函數的功能及使用方法與 count() 函數完全相同。
推薦學習:《PHP影片教學》
以上是php怎麼判斷陣列是否有相同的元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!