从 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 中的结果相同但失败的原始值?