Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将值提取为逗号分隔的列表_Php_Laravel_Laravel 5 - Fatal编程技术网

Php 将值提取为逗号分隔的列表

Php 将值提取为逗号分隔的列表,php,laravel,laravel-5,Php,Laravel,Laravel 5,我在下面有一个列表,我想得到一个以逗号分隔的值列表: [{"id":49},{"id":61},{"id":5},{"id":58}] 我尝试了Purch,但它只返回单个值。我想: 49,61,5,58 我可以用很多方法来做,但我想用拉威尔的方法来做 代码: 使用collection类可以做到这一点,因为它是json,所以必须首先对它进行解码,使其成为一个数组,可以将其转换为illumb\Support\collection $data = json_decode('[{"id":49},

我在下面有一个列表,我想得到一个以逗号分隔的值列表:

[{"id":49},{"id":61},{"id":5},{"id":58}] 
我尝试了Purch,但它只返回单个值。我想:

49,61,5,58
我可以用很多方法来做,但我想用拉威尔的方法来做

代码:


使用collection类可以做到这一点,因为它是json,所以必须首先对它进行解码,使其成为一个数组,可以将其转换为
illumb\Support\collection

$data = json_decode('[{"id":49},{"id":61},{"id":5},{"id":58}]', true);
$csv_data = collect($data)->pluck('id')->implode(',');
如果需要值数组而不是字符串,请删除
内爆调用


在看到您的代码后,这应该可以正常工作

$csv_data = $locations->pluck('id')->implode(',');

1st:使用
json\u解码
将json字符串解码到数组中

2nd:使用array\u列从
array

3rd:使用
内爆
数组
分解为
字符串

<?php

$array ='[{"id":49},{"id":61},{"id":5},{"id":58}]';

echo implode(',',array_column(json_decode($array,true),'id'));

?>

我可以用很多方法来做,但我想用拉威尔的方法来做这就是为什么我删除了我的答案

像这样试试

$t='[{"id":49},{"id":61},{"id":5},{"id":58}]' ;
$ARRAY=json_decode($t,true);
$ARRAY=array_column($ARRAY,'id')
$VALUE=implode(',',$ARRAY);
它的输出为


使用simplejson\u decode()array\u column()infrade()

,因为它是一个标准集合,所以您不需要使用
json\u decode()
。收集
pluck()
方法将起作用:

$collection->pluck('id');
您也可以使用Eloquent的
pluck()
方法,而不是使用
select()
get()

,您可以试试这个

$data_arr = json_decode('[{"id":49},{"id":61},{"id":5},{"id":58}]', true);
$resultarr = array();
foreach($data_arr as $data){
    $resultarr[] = $data['id'];
}
echo implode(',', $resultarr);

请显示用于获取此集合的代码。如果这是一个标准的集合,Pulk肯定会起作用。如果您的问题得到解决,请通过接受我的回答来结束您的问题:)请在此语句数组_列中添加分号($array,'id')@我们需要等待几分钟才能接受答案。我在等它。
$data_arr = json_decode('[{"id":49},{"id":61},{"id":5},{"id":58}]', true);
$resultarr = array();
foreach($data_arr as $data){
    $resultarr[] = $data['id'];
}
echo implode(',', $resultarr);