在对 tp5 的查询结果使用
array_walk
函数进行处理时需要问题,array_walk
的回调参数接收到的值不是原数组子项而是原数组的值,检查后发现 数据库查询后返回的结果是对象格式,而不是数组格式,对结果进行 toArray() 处理后结果显示正常。
原代码:
$result = $model->getList();
array_walk($result, function($value){
dump($value);exit;
});
回调参数 $value 打印结果:
array (size=27)
0 =>
object(......)[258]
public 'data' =>
array (size=3)
'name' => string '测试6' (length=7)
'id' => int 32
public 'relation' =>
array (size=0)
empty
1 =>
object(......)[260]
public 'data' =>
array (size=3)
'name' => string '测试8' (length=7)
'id' => int 33
public 'relation' =>
array (size=0)
empty
查询结果进行toArray()
转化后代码:
$result = $model->getList();
$result = $result->toArray();
array_walk($result, function($value){
dump($value);exit;
});
回调参数 $value 打印结果:
array (size=3)
'name' => string '测试6' (length=7)
'id' => int 32
End.