我想学习如何使用array_unique,所以我做了一些示例代码,并没有得到我的预期。php array_unique没有按预期工作
$array[0] = 1;
$array[1] = 5;
$array[2] = 2;
$array[3] = 6;
$array[4] = 3;
$array[5] = 3;
$array[6] = 7;
$uniques = array_unique($array, SORT_REGULAR);
for($i = 0; $i < count($uniques); $i++)
echo $uniques[$i];
例如,这给了我'15263'的输出,但不是7.经过几次测试后,我认为它停止寻找它发现第一个重复。这是应该发生的吗?
工作!你能解释为什么吗? – mucle6
你的数组值不包含密钥'5',那就是为什么 –
为什么它不包含'5'?这是需要解决的问题。答案是:这是因为'array_unique()'保留了键。 [文档](http://php.net/array_unique)指出:'注意键被保留'。由于你使用的'for'循环是基于数字索引对数组进行操作的,数组中的缺失位置将意味着它不会被回显。如果您[启用错误报告](http://stackoverflow.com/a/6575502/1438393),您会看到一条错误消息,指出“未定义的偏移量”。 –