Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中从JSON中提取值_Php_Json_Discogs Api - Fatal编程技术网

在PHP中从JSON中提取值

在PHP中从JSON中提取值,php,json,discogs-api,Php,Json,Discogs Api,我目前正在使用PHP试验Discogs API。我对他们API的查询以JSON的形式返回,我可以使用以下方式进行解码: $trackMeta = json_decode($trackMeta, true); 然后我希望能够访问返回的数据中的某些元素。使用print\r($trackMeta)输出以下数据: Array ( [pagination] => Array ( [per_page] => 1 [pages] => 7 [page] => 1 [urls] =&g

我目前正在使用PHP试验Discogs API。我对他们API的查询以JSON的形式返回,我可以使用以下方式进行解码:

$trackMeta = json_decode($trackMeta, true);
然后我希望能够访问返回的数据中的某些元素。使用
print\r($trackMeta)输出以下数据:

Array ( [pagination] => Array ( [per_page] => 1 [pages] => 7 [page] => 1 [urls] => Array ( [last] => http://api.discogs.com/database/search?artist=siren&q=snorkel&per_page=1&page=7 [next] => http://api.discogs.com/database/search?artist=siren&q=snorkel&per_page=1&page=2 ) [items] => 7 ) [results] => Array ( [0] => Array ( [style] => Array ( [0] => Drum n Bass ) [thumb] => http://api-img.discogs.com/cf1HxM29IXQKNsSdrwYioa0uEeI=/fit-in/150x150/filters:strip_icc():format(jpeg):mode_rgb()/discogs-images/R-3581480-1336678182-5777.jpeg.jpg [format] => Array ( [0] => Vinyl [1] => 12" [2] => 45 RPM ) [country] => UK [barcode] => Array ( ) [uri] => /Siren-21-Vicious-Circle-Snorkel-SPY-Remix-Solitude/master/433189 [community] => Array ( [want] => 66 [have] => 81 ) [label] => Array ( [0] => Siren Records ) [catno] => SIREN001 [year] => 2012 [genre] => Array ( [0] => Electronic ) [title] => Siren (21) / Vicious Circle (3) - Snorkel (S.P.Y. Remix) / Solitude [resource_url] => http://api.discogs.com/masters/433189 [type] => master [id] => 433189 ) ) ) 
当尝试在
$trackMeta
上使用foreach循环时,我只能返回171,我认为它与
每页和
每页相关


如何访问此阵列中更深的数据?例如,拇指、年份或流派等值?

$trackMeta
是一个关联数组:

$trackMeta = array (
    'pagination' => array (
        'per_page' => 1,
        'pages' => 7,
        'page' => 1,
        'urls' => array (
            'last' => 'http://api.discogs.com/database/search?artist=siren&q=snorkel&per_page=1&page=7',
            'next' => 'http://api.discogs.com/database/search?artist=siren&q=snorkel&per_page=1&page=2'
        ),
        'items' => 7
    ),
    'results' => array (
        0 => array (
            'style' => array (
                0 => 'Drum n Bass'
            ),
            'thumb' => 'http://api-img.discogs.com/cf1HxM29IXQKNsSdrwYioa0uEeI=/fit-in/150x150/filters:strip_icc():format(jpeg):mode_rgb()/discogs-images/R-3581480-1336678182-5777.jpeg.jpg',
            'format' => array (
                0 => 'Vinyl',
                1 => '12"',
                2 => '45 RPM'
            ),
            'country' => 'UK',
            'barcode' => array ( ),
            'uri' => '/Siren-21-Vicious-Circle-Snorkel-SPY-Remix-Solitude/master/433189',
            'community' => array (
                'want' => 66,
                'have' => 81
            ),
            'label' => array (
                0 => 'Siren Records'
            ),
            'catno' => 'SIREN001',
            'year' => 2012,
            'genre' => array (
                0 => 'Electronic'
            ),
            'title' => 'Siren (21) / Vicious Circle (3) - Snorkel (S.P.Y. Remix) / Solitude',
            'resource_url' => 'http://api.discogs.com/masters/433189',
            'type' => 'master',
            'id' => 433189
        )
    )
);
例如,您可以使用以下代码访问
thumb


print_r($trackMeta['results'][0]['thumb'])

尝试像
$trackMeta[url]
一样访问特定的子阵列来清理您的帖子。任何人都应该如何读取该数组,包括你自己。不要查看HTML呈现的打印输出,而是查看源代码或命令行输出。