Php 在foreach中访问JSON值
我试图访问json请求的各个部分,典型的响应是:Php 在foreach中访问JSON值,php,json,Php,Json,我试图访问json请求的各个部分,典型的响应是: { "Overview" : { "firstresultposition" : 1, "totalresultsreturned" : 2, "linkpop" : "2", "domainpop" : "2", "netpop" : "1", "ippop" : "1" }, "Results" : [ { "Links"
{
"Overview" : {
"firstresultposition" : 1,
"totalresultsreturned" : 2,
"linkpop" : "2",
"domainpop" : "2",
"netpop" : "1",
"ippop" : "1"
},
"Results" : [
{
"Links" : [
{
"UrlTo" : "http://www.eclecticaartisans.com/",
"Anchor" : "Eclectica Artisans' Shop",
"nofollow" : "0"
}
],
"IP" : "64.14.78.39",
"Index" : 1,
"DomainRank" : "5",
"UrlFrom" : "http://www.shoppernews.com/directory.html"
},
{
"UrlFrom" : "http://shoppernews.com/directory.html",
"DomainRank" : "4",
"Index" : 2,
"IP" : "64.14.78.39",
"Links" : [
{
"UrlTo" : "http://www.eclecticaartisans.com/",
"Anchor" : "Eclectica Artisans' Shop",
"nofollow" : "0"
}
]
}
]
}
我要做的是在1 foreach循环中获取2条数据,而不是2条:
<?php
$returnSK = file_get_contents("REQUEST_URL");
$seoKicks = json_decode($returnSK, true);
print "<pre>"; print_r($returnSK); print "</pre>";
foreach ($seoKicks['Results'] as $key => $val2) {
echo $val2['UrlFrom'];
foreach ($val2['Links'] as $arr) {
echo $arr['Anchor'];
}
}
?>
上面的代码工作得很好,但如果可能的话,我确实需要使用1 foreach循环访问“UrlFrom”和“Anchor”值(当添加到数据库时,将上面的2 foreach放入我的实时项目中会稍微复杂一些),如果有任何帮助,我将不胜感激。使用一个foreach
一个foreach
你想用链接数据做什么?如果始终只有一个链接,那么您可以通过索引访问它,而不需要循环。另外,您需要迭代或映射链接数组。您试图如何处理链接数据?如果始终只有一个链接,您可以通过索引访问它,而无需循环。其他方面,您需要迭代或映射链接数组。没有
$val2[0]
。它应该是$val2['Links'][0]['Anchor']
@Barmar Yesh您是对的,我已经编辑过了。谢谢。谢谢你们,就是这样:)没有$val2[0]
。应该是$val2['Links'][0]['Anchor']
@Barmar Yesh你说得对,我已经编辑过了。谢谢。谢谢你们,就这样:)
foreach ($seoKicks['Results'] as $key => $val2) {
echo $val2['UrlFrom'];
echo $val2['Links'][0]['Anchor'];
}