【TP5】TP5查询结果使用array_walk函数处理

PHP开发 小铁匠 2020-05-04

在对 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.

------ 本文结束 感谢阅读 ------