从 laravel 中的过程获取结果 - 从响应中删除方括号

Posted

技术标签:

【中文标题】从 laravel 中的过程获取结果 - 从响应中删除方括号【英文标题】:Getting the result from procedure in laravel - removing the square brackets from the response 【发布时间】:2015-03-25 05:36:12 【问题描述】:

这是我的程序

$result = DB::select('call FastBooking(?,?)',array(Input::get('Lat'),Input::get('Long')));
return $result;

当我执行并尝试返回 $result 时,我得到了它

["AutoId":4,"DriverId":4,"distance":103.81984745881,"AutoId":3,"DriverId":3,"distance":373.5531833859,"AutoId":1,"DriverId":1,"distance":7528.7211073364,"AutoId":2,"DriverId":2,"distance":7560.0258965718]

当我尝试print_r($result); 时,我得到以下结果

Array ( [0] => stdClass Object ( [AutoId] => 4 [DriverId] => 4 [distance] => 103.81984745881 ) [1] => stdClass Object ( [AutoId] => 3 [DriverId] => 3 [distance] => 373.5531833859 ) [2] => stdClass Object ( [AutoId] => 1 [DriverId] => 1 [distance] => 7528.7211073364 ) [3] => stdClass Object ( [AutoId] => 2 [DriverId] => 2 [distance] => 7560.0258965718 ) ) Tarrif is 1 Day is 4 Time is 4Current Date is 2015-02-26 - Count : 0

我只想得到

"AutoId":4,"DriverId":4,"distance":103.81984745881,"AutoId":3,"DriverId":3,"distance":373.5531833859,"AutoId":1,"DriverId":1,"distance":7528.7211073364,"AutoId":2,"DriverId":2,"distance":7560.0258965718

这意味着我不想把方括号放在外面,

我怎么会变成这样?

(不关心解码,我只想把[]这里的方括号去掉)

【问题讨论】:

你有一个对象数组。外面的括号是解码所必需的。 不,我不直接解码这个,我有另一组对象,我将插入其中,所以我只需要删除 [] 在这种情况下 【参考方案1】:

我看不出有人想要一串损坏的 json 的任何理由,但你可以尝试做这样的事情......

str_replace (array('[', ']'), '' , $data);

我不确定您将这些数据用于什么目的,但我强烈建议您保留有效的 json。

【讨论】:

得到相同的结果 :( :["AutoId":4,"DriverId":4,"distance":103.81984745881,"AutoId":3,"DriverId":3,"distance":373.5531833859,"AutoId":1,"DriverId":1,"distance":7528.7211073364,"AutoId":2,"DriverId":2,"distance":7560.0258965718]

以上是关于从 laravel 中的过程获取结果 - 从响应中删除方括号的主要内容,如果未能解决你的问题,请参考以下文章

从 Laravel 4 中的 MSSQL 存储过程读取多个结果集

如何从 Laravel 中的 hasMany() 关系中获取所有结果?

我需要获取 API 以从响应中获取与 POSTMAN 中的结果相同但失败的原始值?

如何在 laravel 中使用不记名令牌从 api 请求中获取响应?

使用 Laravel 从 API 获取 JSON 响应

如何从 Laravel 中的数组中获取特定的数组值