php – 删除foreach循环中的数组元素 --unset

内容简介:翻译自:https://stackoverflow.com/questions/8942885/deleting-an-array-element-within-foreach-loop

本文转载自:https://codeday.me/bug/20190112/512660.html,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有。

我有一个简单的数组,其中包含所有国家/地区的名称以及每个国家/地区在我的网站上注册的用户总数.它是这样的:

Array (
    [1] => Array ( [name] => Afghanistan [total] => 3 )
    [2] => Array ( [name] => Albania [total] => 0 )
)

而且,我正在尝试删除拥有0个用户的数组元素(国家/地区).

我已尝试使用此代码,但它无法正常工作:

foreach($country as $row) {
    if ($row['total'] == 0) {
        unset($row);
    }
}

这段代码有什么问题?

如果取消设置($row),则只删除局部变量.

而是获取密钥并删除它:

foreach ($country as $i => $row) {
    if ($row['total'] == 0) {
        unset($country[$i]);
    }
}

翻译自:https://stackoverflow.com/questions/8942885/deleting-an-array-element-within-foreach-loop

转载:https://www.codercto.com/a/51572.html

posted @ 2020-11-27 19:49  搬砖小伙子  阅读(3817)  评论(0)    收藏  举报