PHP无法捕获下一个数组元素

时间:2018-11-19 15:22:49

标签: php laravel

我有这个数组:

array (
  'cfop' => '3',
  'cst' => NULL,
  'cstPis' => '2',
  'cstCofins' => '1',
)  

这段代码:

while ($t = current($taxes))
{
    $getkey = key($taxes);
    Log::debug($getkey);

    //$this->saveTaxes($getkey, $t, $add);

    $t = next($taxes);
}

ps:$taxes是数组

由于某些原因,next函数不会传递空值,因此日志仅输出cfop。

如果我这样更改订单

array (
  'cfop' => '3',
  'cst' => '2',
  'cstPis' => NULL,
  'cstCofins' => '1',
) 

日志将打印cfopcst,但在NULL后不会达到下一个值

1 个答案:

答案 0 :(得分:5)

null是一个伪造的值,所以当您执行$t = current($taxes)时,它的计算结果就是伪造的,因此这就是它停止执行的原因。

如果您要遍历每个值,建议使用foreach循环。

foreach ($taxes as $key => $value) {
  Log::debug($key);
  // $this->saveTaxes($key, $value, $add);
}