在json_decode /多维数组之后访问JSON数组

我从Twitter api进行搜索,使用file_get_contents获取数据,然后传递给json_decode,这给了我这种数组结构。

{"results":[

{

"from_user":"A-user-name",

"from_user_id":457304735,

"text":"Ich R U #BoysNoize #SuperRola",

"entities":{

"urls":[{

"url":"http:\/\/t.co\/WZnUf68j",

"expanded_url":"http:\/\/instagr.am\/p\/Vz4Nnbnjd6\/",

}]

}]

]

对于提取的每条推文都将重复执行此操作。现在,我可以使用foreach循环访问用户名和文本,并将结果的每个实例分配给变量,然后从变量中提取数据。

foreach($jsonArr['results'] as $item){

// Takes the Array jsonArr and for every results heading creates an $item

$user = mysql_real_escape_string($item['from_user']);

$text = mysql_real_escape_string($item['text']);

这样可以保存正确的变量,但是,我似乎无法在结果内的实体数组中获取数据。如果我打印出诸如用户名或文本之类的Entities变量,则会得到

ArrayArrayArrayArrayArrayArrayArrayArrayArrayArray

因此,它保存着返回的每个结果的数组,但是我到底是如何访问它的呢,我一直在弄乱我知道的其他一些访问数组数据的方法,但是它们似乎都陷入了困境。如何获得这些价值或将其与foreach集成的任何帮助将不胜感激

回答:

假设您选择将JSON解码为多维数组而不是对象:

foreach ($results as $tweet) {

$user = $tweet["from-user"];

$text = $tweet["text"];

$entities = $tweet["enities"];

$urls = $entities["urls"];

foreach ($urls as $url) {

echo $url["expanded_url"];

}

}

等等

以上是 在json_decode /多维数组之后访问JSON数组 的全部内容, 来源链接: utcz.com/qa/400221.html

回到顶部