一个常见问题,但其他答案并不总是很清楚,所以如果在其他地方出现了一百万次,我会道歉。
简单;我从查询中返回数组中的空值,我想循环并用零替换它们。我一直在尝试使用以下代码;
$stat = $db->getUserStats($id, $code, $mod1, $mod2);
foreach ($stat as $key => $value) {
if ($value == null) {
$value = 0;
}
};
答案 0 :(得分:3)
使用参考:
foreach ($stat as $key => &$value) {
$value
中您当前拥有的if ($value == null)
不是实际的数组值,而是由foreach
创建的副本。
您应该在foreach
循环后取消设置引用。 (请参阅foreach documentation中的警告框。)
另一种可能的方法是在查询中使用表达式返回零而不是空值。这取决于您使用的数据库。