我使用的是基本for
循环与增量迭代器来检查重复:
$array = ['a', 'b', 'c', 'c', 'c', 'd'];
for ($i = 0; $i < $length-1; $i++) {
if ($array[$i] == $array[$i + 1]) {
//delete $array[$i + 1]
$i--;
}
}
我想所有元素与数组中的下一个比较。如果有重复,我有一个辅助函数可以将其删除,但是想要将$i
重新设置为1,将其与使用$i--;
删除的元素之后的下一个元素进行比较。但是,当我这样做时,我陷入了无限循环。有谁知道如何解决这个问题?
如果'$ i'是0,你加1 ++' '然后减去1'--','$ i'是什么? – AbraCadaver
由于'for'增加了1,而你的'$ i - ;'减少了1,所以它被卡住了。所以它永远不会增加。它为**每个**迭代执行此操作,而不仅仅是数组匹配的位置。 – Qirel
对不起!我的意思是它在'for'循环中 - 现在会更新。 – chloealee