首頁 > 後端開發 > PHP問題 > php數組內元素不重複怎麼判斷

php數組內元素不重複怎麼判斷

青灯夜游
發布: 2023-03-17 19:10:01
原創
1516 人瀏覽過

判斷步驟:1、用array_unique()移除數組中的重複值,語法“array_unique(原始數組)”,會傳回一個去重數組;2、用count()分別取得原始數組和去重數組的數組長度,語法“count(數組)”;3、判斷兩​​個數組長度是否相等,“長度1 == 長度2”,如果兩個數組長度相等,則數組內元素不重複,反之則數組內元素重複。

php數組內元素不重複怎麼判斷

本教學操作環境:windows7系統、PHP8版、DELL G3電腦

判斷陣列內元素重不重複想法:

  • 先移除陣列中的重複值,取得去重後的陣列

  • 然後取得原始陣列和去重數組的長度

  • 最後判斷兩個陣列長度是否相等

在PHP中,可以使用array_unique()、count()函數和「= =”運算符來實現。

判斷步驟:

步驟1:使用array_unique()函數移除陣列中的重複值

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$arr=array(3,4,2,3,6,4,7,2,8,9,1);
var_dump($arr);
$res=array_unique($arr);
echo "去重后的数组:";
var_dump($res);
?>
登入後複製

php數組內元素不重複怎麼判斷

步驟2:使用count()函數取得原始數組和去重數組的長度

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$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>";
?>
登入後複製

php數組內元素不重複怎麼判斷

php數組內元素不重複怎麼判斷##步驟3:使用「==」運算子判斷兩個陣列長度是否相等

#如果兩個數組長度相等,則數組裡沒有重複值

如果兩個數組長度不相等,則表示有元素被去除了,即數組裡有重複值。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$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 "两数组长度不相等,数组里有相同的元素";
}
?>
登入後複製

說明:

array_unique()函數

array_unique() 函數用來移除陣列中重複的值。如果兩個或更多個數組值相同,只保留第一個值,其他的值被移除。

    語法格式如下:
  • array array_unique ( array array )
    登入後複製
  • array_unique() 接受 array 作為輸入並傳回沒有重複值的新陣列
    • 注意鍵名保留不變。 array_unique() 先將值作為字串排序,然後對每個值只保留第一個遇到的鍵名,接著忽略所有後面的鍵名。這並不表示在未排序的 array 中同一個值的第一個出現的鍵名會被保留。
    • 註: 當且僅當
    • (string) $elem1 === (string) $elem2
    • 時兩個單元被認為相同。就是說,當字串的表達一樣時。第一個單元將被保留。
count() 函數

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影片教學###》###

以上是php數組內元素不重複怎麼判斷的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板