在 PHP 程式設計中,使用陣列可以方便地儲存和處理一組資料。然而,有時候我們需要從陣列中取得不重複的值。本文將介紹幾種取得數組中不重複值的方法。
方法一:使用 array_unique() 函數
PHP 中的 array_unique() 函數可以移除陣列中的重複值,並傳回不重複的值組成的新陣列。
範例程式碼:
$array = array("apple", "banana", "apple", "orange", "banana"); $new_array = array_unique($array); print_r($new_array);
輸出:
Array ( [0] => apple [1] => banana [3] => orange )
方法二:使用array_count_values() 函數
PHP 中的array_count_values() 函數可以統計數組中每個值出現的次數,並傳回一個新數組,其中鍵是原始數組的值,值是該值在原始數組中出現的次數。
我們可以利用這個函數,進一步篩選出原數組中只出現一次的值。範例程式碼:
$array = array("apple", "banana", "apple", "orange", "banana"); $count_array = array_count_values($array); $new_array = array(); foreach ($count_array as $key => $value) { if ($value == 1) { array_push($new_array, $key); } } print_r($new_array);
輸出:
Array ( [0] => orange )
方法三:使用array_keys() 函數
PHP 中的array_keys() 函數可以傳回一個包含陣列所有鍵值的新數組。如果原數組中有重複值,那麼重複值的鍵只會保留一次。
我們可以利用這個函數,取得原始數組中的所有鍵,然後根據這些鍵取得對應的值。範例程式碼:
$array = array("apple", "banana", "apple", "orange", "banana"); $key_array = array_keys($array); $new_array = array(); foreach ($key_array as $key) { $value = $array[$key]; if (array_keys($new_array, $value) == false) { array_push($new_array, $value); } } print_r($new_array);
輸出:
Array ( [0] => apple [1] => banana [3] => orange )
方法四:使用array_diff() 函數
PHP 中的array_diff() 函數可以計算兩個或多個陣列的差集,並傳回一個在第一個數組中存在,但在其他數組中不存在的值組成的新數組。
我們可以將原數組和一個空數組進行差集運算,得到的新數組即為原始數組中不重複的值。範例程式碼:
$array = array("apple", "banana", "apple", "orange", "banana"); $new_array = array_diff($array, array()); print_r($new_array);
輸出:
Array ( [0] => apple [1] => banana [3] => orange )
綜上所述,我們可以使用多種方法來取得 PHP 陣列中不重複的值。根據實際情況選擇合適的方法,可以提高程序的效率。
以上是淺析php取得數組中不重複值的幾種方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!