从下面的json我需要显示tld的值,即co.uk,eu,live,org ......
Array ( [tldlist] => Array ( [tld] => Array ( [0] => Array ( [tld] => co.uk ) [1] => Array ( [tld] => eu ) [2] => Array ( [tld] => live ) [3] => Array ( [tld] => org ) [4] => Array ( [tld] => Array ( ) ) ) [tldcount] => 5 ) [Command] => GETTLDLIST [APIType] => API [Language] => eng [ErrCount] => 0 [ResponseCount] => 0 [MinPeriod] => Array ( ) [MaxPeriod] => 10 [Server] => SJL1VWRESELL_T [Site] => eNom [IsLockable] => Array ( ) [IsRealTimeTLD] => Array ( ) [TimeDifference] => +0.00 [ExecTime] => 0.000 [Done] => true [TrackingKey] => 7cbc3d47-c11c-4a39-8387-448777e82af5 [RequestDateTime] => 5/14/2018 12:21:18 AM [debug] => Array ( ) ) 1
在我的刀片代码下面找到:
@foreach($final_data1['tldlist']['tld'] as $key)
{{$key}}<br>
@endforeach
请在我的刀片文件中建议我更正以显示上述json中的tld。
答案 0 :(得分:0)
初步说明:&#34; json&#34;你显示的不是JSON,它是print_r()
的输出。
由于JSON只是一个字符串,因此您需要先对其进行解码。 PHP documentation州:
<强>功能强>
json_decode(string $ json [,bool $ assoc = FALSE [,int $ depth = 512 [,int $ options = 0]]])
<强>参数强>
$ JSON 正在解码的json字符串。
$ ASSOC 如果为TRUE,则返回的对象将转换为关联数组。
解码后,关联数组可以作为一个对象访问:
$data = json_decode($json);
$tld = $data->tldlist;
如果您希望将其解码为数组,请将true
作为第二个参数传递:
$data = json_decode($json, true);
$tld = $data['tldlist'];
我建议在控制器中对其进行解码。这样您的视图就不必关心数据的传递方式。
假设您有一个JSON字符串并希望以数组形式访问它:
return view('your_blade_view')->with('final_data1', json_decode($data, true));
如果您坚持在Blade文件中执行此操作,请使用以下代码段:
@foreach($final_data1['tldlist']['tld'] as $key)
{{$key}}<br>
@endforeach