替换PHP数组

时间:2017-04-18 18:44:35

标签: php sql foreach null

一个常见问题,但其他答案并不总是很清楚,所以如果在其他地方出现了一百万次,我会道歉。

简单;我从查询中返回数组中的空值,我想循环并用零替换它们。我一直在尝试使用以下代码;

$stat = $db->getUserStats($id, $code, $mod1, $mod2);    
        foreach ($stat as $key => $value) {
            if ($value == null) {
                $value = 0;
            }
        };

1 个答案:

答案 0 :(得分:3)

使用参考:

foreach ($stat as $key => &$value) {

$value中您当前拥有的if ($value == null)不是实际的数组值,而是由foreach创建的副本。

您应该在foreach循环后取消设置引用。 (请参阅foreach documentation中的警告框。)

另一种可能的方法是在查询中使用表达式返回零而不是空值。这取决于您使用的数据库。