刪除重複如何從一個數組中刪除重複的,如果它應該只在位置檢查[1](水果名)在編號的排列
Array (
[0] => Array (
[0] => 1
[1] => Apple
)
[1] => Array (
[0] => 2
[1] => Pineapple
)
[2] => Array (
[0] => 1
[1] => Apple
)
)
刪除重複如何從一個數組中刪除重複的,如果它應該只在位置檢查[1](水果名)在編號的排列
Array (
[0] => Array (
[0] => 1
[1] => Apple
)
[1] => Array (
[0] => 2
[1] => Pineapple
)
[2] => Array (
[0] => 1
[1] => Apple
)
)
你可以只的foreach陣列上每個值添加到臨時陣列,其中每個陣列的密鑰是[1]
。重複的值只會覆蓋對方。如果您想將按鍵重置爲數字,則可以使用array_values
。
下面是一個例子:
<?php
$arr = array (
array (1, 'Apple'),
array (2, 'Pineapple'),
array (1, 'Apple')
);
echo "Before:\n";
print_r($arr);
//create a temp array
$tmp = array();
foreach($arr as $v){
$tmp[$v[1]] = $v;
}
//reset the keys
$arr = array_values($tmp);
echo "\n\nAfter:\n";
print_r($arr);
非常感謝。 – user1273409
使用array_unique:
$arr = array_unique($arr, SORT_REGULAR);
的SORT_REGULAR標誌的元素通常比較而不改變類型
它不刪除我的重複。 – user1273409
有趣的是[它可以工作](https://3v4l.org/vVgAA),但是手冊特別指出'注意:array_unique()不適用於多維數組,這就是。 –
以下代碼可能對您有所幫助。
$array =array (
'0' => array ('0' => 1, '1' => 'Apple'),
'1' => array ('0' => 2, '1' => 'Pineapple'),
'2' => array ('0' => 1, '1' => 'Apple') ,
);
$new_array = array();
foreach($array as $values){
$trimmed_array=array_map('trim',$values);
$new_array[$values[1]] = $values;
}
print_r(array_values($ new_array));
缺貨沽:
Array
(
[0] => Array
(
[0] => 1
[1] => Apple
)
[1] => Array
(
[0] => 2
[1] => Pineapple
)
)
的foreach父陣列上,每個值添加到新的數組,其中關鍵字爲'[0]'從每個陣列。重複只會覆蓋對方。如果您想將鍵重置爲零,則可以使用'array_values'。 –
如果我有更多的數字/信息比水果名稱怎麼樣?它會繼續工作嗎? – user1273409
哦,我倒退了。您也可以使用鍵[1]創建數組。任何一個都可以工作。 –