在 PHP 中,可以使用以下方法對數(shù)組進(jìn)行去重操作,不用使用數(shù)組函數(shù):
- 使用foreach循環(huán)和in_array()函數(shù):遍歷數(shù)組中的每個(gè)元素,并使用in_array()函數(shù)檢查該元素是否已經(jīng)存在于新數(shù)組中。如果不存在,則將其添加到新數(shù)組中。例如:
// 定義一個(gè)包含重復(fù)元素的數(shù)組
$my_array = array("apple", "banana", "orange", "banana", "pear", "apple");
// 定義一個(gè)新數(shù)組
$new_array = array();
// 遍歷數(shù)組中的每個(gè)元素
foreach ($my_array as $value) {
// 如果該元素不存在于新數(shù)組中,則將其添加到新數(shù)組中
if (!in_array($value, $new_array)) {
$new_array[] = $value;
}
}
// 輸出去重后的數(shù)組
print_r($new_array);
在上述代碼中,首先定義了一個(gè)包含重復(fù)元素的數(shù)組$my_array和一個(gè)空數(shù)組$new_array。然后,使用foreach循環(huán)遍歷$my_array中的每個(gè)元素,并使用in_array()函數(shù)檢查該元素是否已經(jīng)存在于$new_array中。如果不存在,則將該元素添加到$new_array中。最后,使用print_r()函數(shù)輸出去重后的數(shù)組。
- 使用array_flip()函數(shù)和foreach循環(huán):可以使用array_flip()函數(shù)將數(shù)組中的元素作為鍵,然后再將鍵轉(zhuǎn)換回值。這樣做可以自動(dòng)去重,但是該方法會打亂數(shù)組中元素的順序。例如:
// 定義一個(gè)包含重復(fù)元素的數(shù)組
$my_array = array("apple", "banana", "orange", "banana", "pear", "apple");
// 使用array_flip()函數(shù)將元素作為鍵,并將鍵轉(zhuǎn)換回值
$new_array = array_keys(array_flip($my_array));
// 輸出去重后的數(shù)組
print_r($new_array);
在上述代碼中,首先定義了一個(gè)包含重復(fù)元素的數(shù)組$my_array。然后,使用array_flip()函數(shù)將$my_array中的元素作為鍵,并將鍵轉(zhuǎn)換回值。由于數(shù)組中的鍵必須是唯一的,因此重復(fù)的元素會被自動(dòng)去重。最后,使用array_keys()函數(shù)獲取新數(shù)組的值,并使用print_r()函數(shù)輸出去重后的數(shù)組。
需要注意的是,使用array_flip()函數(shù)和foreach循環(huán)的方法會打亂數(shù)組中元素的順序。如果需要保持?jǐn)?shù)組中元素的順序,請使用第一種方法。