在laravel中将多个数组转换为字符串

时间:2018-10-30 08:07:37

标签: php laravel

$est_data = Establishments::where('status',0)->where('city','=',$data['location'])->get(array('id'));
return $est_data;

结果:

[{"id":43},{"id":71},{"id":41},{"id":39}]

这是我上述的laravel条件和结果,我希望结果像43,71,41,39。 谁能帮助我,如何使用php做到这一点。我尝试使用implode()函数,但遇到错误,请帮助...谢谢

4 个答案:

答案 0 :(得分:2)

Laravel pluck方法将仅选择必填字段:

$est_data = Establishments::where('status',0)->where('city','=',$data['location'])->pluck('id');
return $est_data;

@apokryfos针对您的laravel版本(4.2)评论lists,应使用以下方法:

$est_data = Establishments::where('status',0)->where('city','=',$data['location'])->lists('id');
return $est_data;

答案 1 :(得分:1)

您可以使用laravel array_flatten()数组助手:

  

array_flatten函数将多维数组展平为   单级数组:

$array = array('name' => 'Joe', 'languages' => array('PHP', 'Ruby'));

$array = array_flatten($array);

// array('Joe', 'PHP', 'Ruby');

在您的情况下:

$est_data = Establishments::where('status',0)->where('city','=',$data['location'])->pluck('id');
return array_flatten($est_data);

答案 2 :(得分:0)

$result = implode(',',$est_data[0]);

这将解决您的问题。您应该阅读有关implode(转换为字符串)和explode(从字符串转换为数组)的信息。它们确实是有用的php函数。

在阅读您的评论时,您的错误是由于您尝试访问$set_data而不是$set_data[0]而导致的,您的价值基于您提供给我们的输出。

答案 3 :(得分:0)

使用php array_column函数,指定id

$est_data = Establishments::where('status',0)->where('city','=',$data['location'])->pluck('id');
return array_column("id", $est_data);