我有这个数组:
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',
)
日志将打印cfop
和cst
,但在NULL后不会达到下一个值
答案 0 :(得分:5)
null
是一个伪造的值,所以当您执行$t = current($taxes)
时,它的计算结果就是伪造的,因此这就是它停止执行的原因。
如果您要遍历每个值,建议使用foreach循环。
foreach ($taxes as $key => $value) {
Log::debug($key);
// $this->saveTaxes($key, $value, $add);
}