从PHP Laravel中的嵌套JSON数组中获取值
因此,我有一段代码,我已经斗争了一段时间了 这是我的代码从PHP Laravel中的嵌套JSON数组中获取值,php,arrays,json,laravel-5.2,reddit,Php,Arrays,Json,Laravel 5.2,Reddit,因此,我有一段代码,我已经斗争了一段时间了 这是我的代码 <?php namespace App\Http\Controllers; use Illuminate\Database\Eloquent\Model; use Illuminate\Http\Request; use App\Requests\SearchRequest; use Vinelab\Http\Client as HttpClient; use App\Http\Requests; use App\Http\
<?php
namespace App\Http\Controllers;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use App\Requests\SearchRequest;
use Vinelab\Http\Client as HttpClient;
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)
{
$searchPhrase = $request->input('search');
$client = new HttpClient;
$response = $client->get('https://www.reddit.com/search.json?q='. urldecode($searchPhrase) .'');
$response = collect($response->json());
$responseDecode = json_decode($response, true);
$SearchResultsArray = $responseDecode;
dd($SearchResultsArray);
}
}
我正在尝试访问每个文件中的title属性
1 => array:2 [▶]
2 => array:2 [▶]
3 => array:2 [▶]
4 => array:2 [▶]
5 => array:2 [▶]
6 => array:2 [▶]
7 => array:2 [▶]
我想把它们解析成一个数组,然后发送到一个Laravel视图
每次我尝试访问它时,我都会得到未定义的索引或偏移量,我不知道该如何进行。
有人能帮我找到解决这个问题的办法吗
编辑---------------------
我现在正在使用这个,它工作得非常好
$allData=[];
$counter = 1;
foreach ($posts as $post) {
//foreach post get the data and store it in a database
$allData[$counter]['title']= $post['data']['title'];
$sentiment = SentimentAnalysis::decision($allData[$counter]['title']);
$allData[$counter]['created']= $post['data']['created'];
RedditPosts::create([
'title' => $allData[$counter]['title'],
'created' => date($allData[$counter]['created']),
'sentiment' => $sentiment,
'search_identifier' => $search_id,
'search_phrase' => $searchPhrase
]);
$counter ++;
}
基本上,您需要三个foreach来实现这样的嵌套数组
foreach($SearchResultsArray as $ThreeLevelArray){
foreach($ThreeLevelArray as $TwoLevelArray) {
foreach($TwoLevelArray as $OneevelArray) {
//your here son :)
}
}
}
基本上,您需要三个foreach来实现这样的嵌套数组
foreach($SearchResultsArray as $ThreeLevelArray){
foreach($ThreeLevelArray as $TwoLevelArray) {
foreach($TwoLevelArray as $OneevelArray) {
//your here son :)
}
}
}
你基本上需要3个foreach才能访问你基本上需要3个foreach一旦我到达//你的儿子:)我如何访问数组中的“title”?它会下注$onevelarray->title;您刚刚到达0=>array()1=>array()2=>array(),所以您也想进入该数组?是的,在这些1=>array:2中的每一个中[▶] 2=>数组:2[▶] 3=>数组:2[▶] 4=>数组:2[▶] 5=>数组:2[▶] 6=>数组:2[▶] 7=>数组:2[▶] 我还需要一个循环:)所以,如果您需要key,那么可以使用foreach($key=>$value的OneLevelArray){echo$key die();}检查它是否有效,然后$onevelarray->title?,让我试试这个快速方法,一旦我到达//你的儿子:)我如何访问数组中的“title”呢?它会下注$onevelarray->title;你刚刚到达0=>array()1=>array()2=>array(),那么你也想进入该数组吗?是的,在这些1=>array:2中的每一个数组中[▶] 2=>数组:2[▶] 3=>数组:2[▶] 4=>数组:2[▶] 5=>数组:2[▶] 6=>数组:2[▶] 7=>数组:2[▶] 有一些数据我需要一个循环:)所以如果你想要key,那么你可以使用foreach($onevelarray as$key=>$value){echo$key die();}检查它是否有效,然后$onevelarray->title?,让我快速尝试一下
$allData=[];
$counter = 1;
foreach ($posts as $post) {
//foreach post get the data and store it in a database
$allData[$counter]['title']= $post['data']['title'];
$sentiment = SentimentAnalysis::decision($allData[$counter]['title']);
$allData[$counter]['created']= $post['data']['created'];
RedditPosts::create([
'title' => $allData[$counter]['title'],
'created' => date($allData[$counter]['created']),
'sentiment' => $sentiment,
'search_identifier' => $search_id,
'search_phrase' => $searchPhrase
]);
$counter ++;
}