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

php-如果aray的索引具有相同的值,则删除它们,php,arrays,unique,Php,Arrays,Unique,如何使这样一个数组的值唯一 Array([0]=>Array([0]=>wallet[1]=>pen[2]=>香水[3]=>pen)) 由于存在两次pen,我希望通过以下方式将其删除: ([0]=>数组([0]=>钱包[1]=>笔[2]=>香水)) 或 ([0]=>数组([0]=>钱包[1]=>香水[2]=>笔)) 我希望它适用于任何长度 感谢您的帮助如果您只想选择一个唯一的值,您需要传递要比较值的数组,我假设您传递了主数组,您需要传递发现问题的数组,在您的情况下,该数组是数组的索引0 $res

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

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

由于存在两次pen,我希望通过以下方式将其删除:

([0]=>数组([0]=>钱包[1]=>笔[2]=>香水))

([0]=>数组([0]=>钱包[1]=>香水[2]=>笔))

我希望它适用于任何长度


感谢您的帮助

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

$result = array_unique($input[0]);
$input
将有一个唯一值数组,因此pen不会为2

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

$input[0] = array_unique($input[0]);
如果需要重置索引,可以使用此

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

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

$result = array_unique($input[0]);
$input
将有一个唯一值数组,因此pen不会为2

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

$input[0] = array_unique($input[0]);
如果需要重置索引,可以使用此

$new_index = array_values($input[0]);
print_r($new_index);
使用两次怎么样:

$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
)
如果要对索引重新编号,请在以下内容之后添加此对齐:

$arr = array_values($arr);
使用两次怎么样:

$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
)
如果要对索引重新编号,请在以下内容之后添加此对齐:

$arr = array_values($arr);

这是多维光学阵列的解决方案

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

echo "<pre>";
print_r($res);
$res=array();
foreach($key=>$val的_数组){
$res[$key]=array_unique($val);
}
回声“;
印刷品(港币);;

这是多维光学阵列的解决方案

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

echo "<pre>";
print_r($res);
$res=array();
foreach($key=>$val的_数组){
$res[$key]=array_unique($val);
}
回声“;
印刷品(港币);;

顺便说一句,我尝试了array_unique,但没有成功,仍然返回相同的数组。也许我没有很好地使用它。
array_unique($array[0])您的数组是嵌套的,可以在其上循环并将数组_唯一应用于每个集合,或者仅应用第一项(如果只有一项)。顺便说一下,我尝试了array_unique,但没有成功,仍然返回相同的数组。也许我没有很好地使用它。
array_unique($array[0])您的数组是嵌套的,可以在其上循环并将数组_唯一应用于每个集合,或者仅应用第一项(如果只有一项)。这是一个绝妙的解决方案!我永远也猜不到这种行为。这在一定程度上是PHP的错误,因为它的函数命名方法不好。@M42我必须承认我从来没有想到过这一点,但我希望数组索引为1,2,3,…这是一个出色的解决方案!我永远也猜不到这种行为。这部分是PHP的错误,因为它的函数命名方法不好。@M42我必须承认,我从来没有想过这一点,但我希望数组索引为1,2,3,…可以工作,但索引有问题:
array([0]=>array([0]=>wallet[1]=>香水[3]=>pen))
我需要它始终为1,2,3以便以后使用,但索引存在问题:
数组([0]=>数组([0]=>钱包[1]=>香水[3]=>笔))
我需要它始终为1,2,3以便以后使用