php - 如果数组具有相同的值,则删除它们的索引

时间:2013-03-04 15:44:20

标签: php arrays unique

如何使这样的数组的值唯一。

Array ( [0] => Array ( [0] => wallet [1] => pen [2] => perfume [3] => pen) )

因为笔有两次我希望以这种方式删除它:

( [0] => Array ( [0] => wallet [1] => pen [2] => perfume) )

OR

( [0] => Array ( [0] => wallet [1] => perfume [2] => pen) )

我想申请任何长度。

感谢您的帮助

4 个答案:

答案 0 :(得分:2)

array_flip如何使用两次:

$arr = Array(0 => wallet, 1 => pen, 2 => perfume, 3 => pen);
$arr = array_flip(array_flip($arr));
print_r($arr);

<强>输出:

Array
(
    [0] => wallet
    [3] => pen
    [2] => perfume
)

如果要重新编号索引,请在以下后添加此ligne:

$arr = array_values($arr);

答案 1 :(得分:1)

如果您只想选择一个唯一值,您需要传递要比较值的数组,我假设你传递了主数组,你需要传递发现问题的数组,这是你的case数组的索引0

$result = array_unique($input[0]);

$input将包含一系列唯一值,因此笔不会为2

如果您需要删除数组中的任何重复值,则可以执行此操作。

$input[0] = array_unique($input[0]);

如果您需要重置索引,可以使用此

$new_index = array_values($input[0]);
print_r($new_index);

答案 2 :(得分:0)

$tmp = array ();

foreach ($array as $row) 
             array_push($tmp,array_unique($row));

答案 3 :(得分:0)

这是多维数组的解决方案

$res  = array();
foreach($your_array as $key=>$val){
  $res[$key] = array_unique($val);
}

echo "<pre>";
print_r($res);
相关问题