如果只检查位置[1](水果名称)
,如何从数组中删除重复项?Array (
[0] => Array (
[0] => 1
[1] => Apple
)
[1] => Array (
[0] => 2
[1] => Pineapple
)
[2] => Array (
[0] => 1
[1] => Apple
)
)
答案 0 :(得分:2)
使用array_unique:
all_lists = []
init_pt = tlist[0]
for pt_i, pt in enumerate(tlist):
if pt == init_pt and pt_i != tlist.index(init_pt):
all_lists.append(tlist[tlist.index(init_pt):pt_i+1])
SORT_REGULAR标志通常比较元素而不更改类型
答案 1 :(得分:1)
您可以直接遍历数组并将每个值添加到临时数组中,其中每个数组的键为[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);
答案 2 :(得分:0)
以下代码可能会对您有所帮助。
$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));
Out Put:
Array
(
[0] => Array
(
[0] => 1
[1] => Apple
)
[1] => Array
(
[0] => 2
[1] => Pineapple
)
)