注意:只有变量应该通过引用传递- End, explosion和implode



我得到以下PHP通知作为测试迁移到PHP 7.4的结果:

注意:只有变量应该通过引用

传递

行:

$row->type = end(explode(",",(implode(array_slice(explode ( ':',  $row->global_id), -2, 1)))));

这是在:

$roots = array();
foreach ($data as $row) {   
$row->type = end(explode(",",(implode(array_slice(explode ( ':',  $row->global_id), -2, 1)))));
if ($row->parent_global_id === null) {
$roots[]= $row;
} else {
$data[$row->parent_global_id]->children[] = $row;
}
unset($row->parent_global_id);
unset($row->global_id);
}

这一行在PHP 7中应该怎么写?

end移动数组的内部指针

所以你要做$result = explode(); $row->type = end($result);

那么通知就不会再出现了

https://www.php.net/manual/de/function.end.php

相关功能:reset(), next(), prev()

最新更新