首頁 > 後端開發 > PHP問題 > 淺析php取得數組中不重複值的幾種方法

淺析php取得數組中不重複值的幾種方法

PHPz
發布: 2023-04-12 11:30:44
原創
848 人瀏覽過

在 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中文網其他相關文章!

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