Benyi Hsia

我是Benyi,這裡存放關於資訊科技的文章

PHP 檢測陣列是否有重複值

| Comments

如何使用 PHP 檢測陣列是否有重複值

譬如有三個欄位請使用者輸入三組不同的身分證字號
如果使用者在其中兩個欄位輸入了相同的值,
就要跳出錯誤訊息請他重新輸入。

這時候可以用到 PHP 提供的 array_unique 函數,
只要傳入的陣列有重複的值,經過 array_unique 處理後都會把重複的值去掉

我們可以利用有重複值會去掉的這個特性
去比較處理前陣列內每筆資料的個數,與處理後資料的個數,是否相同

如果處理後,筆數不同,表示有重複值 (因為被去掉了)
如果相同,表示每筆資料都是不重複的。

    $inputValue = array($val1, $val2, $val3);
    $inputValue_unique = array_unique($inputValue);

    if ( count($inputValue) != count($inputValue_unique) ){
        echo "陣列有重複值!";
    }
  1. 將輸入的值使用陣列存到 inputValue
  2. array_unique($inputValue) 函數處理陣列,將重複值移除
  3. 使用 count() 計算原本陣列個數,以及經過 array_unique 函數處理過後的個數
    如果個數相同,表示未被移除(未重複);反之若個數不同,表示有資料被移除(有重複值)

Comments

comments powered by Disqus