2017-04-18 83 views
0

一个常见的问题,但其他答案并不总是很清楚,所以如果在其他地方出现过一百万次,我很抱歉。替换PHP数组中的空值

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

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

回答

3

使用参考:

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

$value您目前在if ($value == null)是不实际的数组值,而是通过创建foreach副本。

您应该在foreach循环之后取消参考。 (见foreach documentation警告盒。)


另一种可能的方式来完成,这是用在查询表达式中返回0,而不是空值。这将取决于您使用的是哪个数据库。