在我的应用程序中,我使用array_diff函数作为 -
$aDeleteCountryCodes = array_diff($aCurrentCountryCodes, $aNewCountryCodes);
现在发生的是,结果数组,$ aDeleteCountryCodes,有时会出现
Array
(
[2] => 213
)
有时候
Array
(
[2] => 213
[3] => 355
)
这使我用于从数据库中删除记录的循环混乱。对于循环是这样的 -
for ($i=0; $i <= count($aDeleteCountryCodes); $++)
{
// Delete record $aDeleteCountryCodes[$i]
}
我想要的是数组 -
Array
(
[0] => 213
)
Array
(
[0] => 213
[1] => 355
)
使循环变得更容易。我希望我说清楚。我怎么能这样做?
答案 0 :(得分:2)
array_values
。foreach
代替“手动for
循环。”答案 1 :(得分:2)
不是重置密钥,而是优先迭代现有的密钥:
foreach ($aDeleteCountryCodes as $key => $value) {
// delete goes here.
}
答案 2 :(得分:2)
使用array_values(array_diff($ aCurrentCountryCodes,$ aNewCountryCodes));
答案 3 :(得分:1)
您可以将值输出到新数组中:
$aDeleteCountryCodes = array_values($aDeleteCountryCodes) //Keys resetted.