Laravel,将JSON数组转换为Array,只从Array中获取一个对象

时间:2016-02-24 08:56:34

标签: php arrays json laravel-5.2

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Vinelab\Http\Client as HttpClient;
use App\Requests\SearchRequest;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class SearchResults extends Controller
{
    public function index()
    {
        return view('results.search-results');
    }

    public function store(Requests\SearchRequest $request)
    {

        $search_phrase = $request->input('search');

        $client = new HttpClient;

        $response = $client->get('https://www.reddit.com/search.json?q='. $search_phrase .'');

        $responseArray = $response->json();

        dd($responseArray);

        return view('results.search-results');

    }
}  

使用上面的代码,我使用此HTTP服务

调用reddit API

https://github.com/Vinelab/http/tree/master

返回的响应给了我一个包含大量数据的数组,但我只想从中获取title字段并将其解析为Laravel数组,该数组可以发送到我将在其中显示标题的视图一个foreach循环。

我想可能会将结果的标题存储在数据库中,然后查询数据库并将其发送到视图中。我是所有这一切的新手,所以任何帮助和理论都将受到赞赏。

Laravel 5.2中是否有办法将此JSON数组的输出转换为可以紧凑并发送到视图的可用数组?

1 个答案:

答案 0 :(得分:21)

您可以这样做,将json转换为Array格式。

json_decode($response->content(), true);

可以通过此

访问

$response[0]['title']