0

Google APIからフォントのJSONリストを取得しており、PHPアプリケーションで使用したいと考えています。このJSONオブジェクトに簡単にアクセスする方法が必要です。たとえば、フォントとそのプロパティを次のように簡単に呼び出せるようにしたい場合は、次のようにします。

$font['abc']['variants']

...など。

したがって、JSONは次のようになります。

$fonts = '
{
 "kind": "webfonts#webfontList",
 "items": [
  {
   "kind": "webfonts#webfont",
   "family": "Yesteryear",
   "variants": [
    "regular"
   ],
   "subsets": [
    "latin"
   ]
  },
  {
   "kind": "webfonts#webfont",
   "family": "Zeyada",
   "variants": [
    "regular"
   ],
   "subsets": [
    "latin"
   ]
  }
]
}
';

そして、私はこれを使用して配列に解析しています:

$fonts = json_decode( $fonts, true );
$var_dump( $fonts['items'] );

そして、これのvarダンプは次のように表示されます。

array (size=2)
  0 => 
    array (size=4)
      'kind' => string 'webfonts#webfont' (length=16)
      'family' => string 'Yesteryear' (length=10)
      'variants' => 
        array (size=1)
          0 => string 'regular' (length=7)
      'subsets' => 
        array (size=1)
          0 => string 'latin' (length=5)
  1 => 
    array (size=4)
      'kind' => string 'webfonts#webfont' (length=16)
      'family' => string 'Zeyada' (length=6)
      'variants' => 
        array (size=1)
          0 => string 'regular' (length=7)
      'subsets' => 
        array (size=1)
          0 => string 'latin' (length=5)

したがって、上記の配列では、必要なデータを簡単に取得できません。したがって、これがアレイを再構築する必要があることを意味するかどうかはわかりません。再構築する場合は、どのようにしたらよいでしょうか。

見てくれてありがとう。

4

3 に答える 3

3

これを試して値を取得してください:ここでは、内部のすべての配列の値を取得しますitems

foreach($fonts['items'] as $val){

    echo $val['kind'];
    echo $val['family'];

    print_r($val['variants']);
    echo "======================<br>";
}
于 2013-03-27T09:35:32.980 に答える
0

私はあなたがこのようなものを探していると思います:

于 2013-03-27T09:39:46.800 に答える
0

このスニペットがお役に立てば幸いです

$res1=json_decode($fonts,true);
$res2=$res1['items'];
$count=count($res2);
for($i=0;$i< $count;$i++)
{
    echo $res2[$i]['variants'][0];
}
于 2013-03-27T09:49:07.730 に答える