如何在php中格式化sql的返回值?

时间:2018-07-04 08:49:21

标签: php sql

在这种情况下,我可以从sql获取返回值。

$estateGroup = 
    Estate_base::select('id')->whereIn('name',$request->estateName)->get();

但是$estateGroup会像这样:[{id:1},{id:2}]

我想将[{id:1},{id:2}]更改为[1,2]

所以我这样做如下:

    $estateGroup = 
        Estate_base::select('id')->whereIn('name',$request->estateName)->get();
    $idGroup=[];
    foreach ($estateGroup as $estate) {
        array_push($idGroup, $estate->id);
    }

有什么方法可以更轻松地格式化值?

2 个答案:

答案 0 :(得分:1)

您可以使用array_map。顺便说一句,它将以与您相同的方式进行操作,但是用更少的代码。

$idGroup = array_map(function($estate) { return $estate->id;}, $estateGroup);

答案 1 :(得分:0)

在PHP 7中,您can使用array_column()函数和对象列表:

$idGroup = array_column($estateGroup, 'id');

这是从多个对象中提取相同属性值的最短(可能也是最快)的方法。文档中的注释:

  

7.0.0:添加了将输入参数作为对象数组的功能。