[英]How to iterate through JSON data in PHP for Wordpress Plugin
我正在构建一个调用第三方API的插件。 我正在取回数据,但看起来有点时髦,我无法迭代和操纵数据以显示在页面上。
我正在使用此函数来调用正在运行的API ...
function herocreative_rentcafe_get_data( $herocreative_companycode, $herocreative_propertycode ) {
$json_feed_url = 'https://api.rentcafe.com/rentcafeapi.aspx?requestType=floorplan&companyCode=' . $herocreative_companycode . '&propertyCode=' . $herocreative_propertycode ;
$args = array( 'timeout' => 120 );
$json_feed = wp_remote_get( $json_feed_url, $args );
$herocreative_data = json_decode( $json_feed['body'] );
return $herocreative_data;
}
我正在使用此代码来迭代响应...
<?php for( $i = 0; $i < count($herocreative_data); $i++ ): ?>
<li>
<ul>
<li>
<?php echo $herocreative_data->{'AvailableUnitsCount'}[$i]; ?>
</li>
</ul>
</li>
<?php endfor; ?>
返回的数据是这样的:
JSON Feed
array(3) {
[0]=>
object(stdClass)#321 (18) {
["PropertyId"]=>
string(6) "457547"
["FloorplanId"]=>
string(7) "2027167"
["FloorplanName"]=>
string(11) "One Bedroom"
["Beds"]=>
string(1) "1"
["Baths"]=>
string(4) "1.00"
["MinimumSQFT"]=>
string(3) "714"
["MaximumSQFT"]=>
string(3) "714"
["MinimumRent"]=>
string(4) "1125"
["MaximumRent"]=>
string(4) "1355"
["MinimumDeposit"]=>
string(1) "1"
["MaximumDeposit"]=>
string(1) "1"
["AvailableUnitsCount"]=>
string(1) "5"
["AvailabilityURL"]=>
string(137) "https://epicasset.securecafe.com/onlineleasing/park-210/oleapplication.aspx?stepname=Apartments&myOlePropertyId=457547&floorPlans=2027167"
["FloorplanImageURL"]=>
string(65) "http://cdn.rentcafe.com/dmslivecafe/3/457547/3_457547_2310392.jpg"
["FloorplanImageName"]=>
string(7) "1x1.jpg"
["PropertyShowsSpecials"]=>
string(1) "0"
["FloorplanHasSpecials"]=>
string(1) "0"
["UnitTypeMapping"]=>
string(6) "p0.1x1"
}
[1]=>
object(stdClass)#323 (18) {
["PropertyId"]=>
string(6) "457547"
["FloorplanId"]=>
string(7) "2027168"
["FloorplanName"]=>
string(20) "Two Bedroom One Bath"
["Beds"]=>
string(1) "2"
["Baths"]=>
string(4) "1.00"
["MinimumSQFT"]=>
string(4) "1000"
["MaximumSQFT"]=>
string(4) "1000"
["MinimumRent"]=>
string(4) "1325"
["MaximumRent"]=>
string(4) "1455"
["MinimumDeposit"]=>
string(1) "0"
["MaximumDeposit"]=>
string(1) "0"
["AvailableUnitsCount"]=>
string(1) "0"
["AvailabilityURL"]=>
string(137) "https://epicasset.securecafe.com/onlineleasing/park-210/oleapplication.aspx?stepname=Apartments&myOlePropertyId=457547&floorPlans=2027168"
["FloorplanImageURL"]=>
string(65) "http://cdn.rentcafe.com/dmslivecafe/3/457547/3_457547_2310393.jpg"
["FloorplanImageName"]=>
string(7) "2x1.jpg"
["PropertyShowsSpecials"]=>
string(1) "0"
["FloorplanHasSpecials"]=>
string(1) "0"
["UnitTypeMapping"]=>
string(6) "p0.2x1"
}
[2]=>
object(stdClass)#324 (18) {
["PropertyId"]=>
string(6) "457547"
["FloorplanId"]=>
string(7) "2027169"
["FloorplanName"]=>
string(20) "Two Bedroom Two Bath"
["Beds"]=>
string(1) "2"
["Baths"]=>
string(4) "2.00"
["MinimumSQFT"]=>
string(4) "1095"
["MaximumSQFT"]=>
string(4) "1095"
["MinimumRent"]=>
string(4) "1395"
["MaximumRent"]=>
string(4) "1525"
["MinimumDeposit"]=>
string(1) "0"
["MaximumDeposit"]=>
string(1) "0"
["AvailableUnitsCount"]=>
string(1) "0"
["AvailabilityURL"]=>
string(137) "https://epicasset.securecafe.com/onlineleasing/park-210/oleapplication.aspx?stepname=Apartments&myOlePropertyId=457547&floorPlans=2027169"
["FloorplanImageURL"]=>
string(65) "http://cdn.rentcafe.com/dmslivecafe/3/457547/3_457547_2310394.jpg"
["FloorplanImageName"]=>
string(7) "2x2.jpg"
["PropertyShowsSpecials"]=>
string(1) "0"
["FloorplanHasSpecials"]=>
string(1) "0"
["UnitTypeMapping"]=>
string(6) "p0.2x2"
}
}
您需要做的是在数组上进行foreach循环,然后每次出现都包含一个对象地址,因此
<?php
foreach ( $herocreative_data as $data) :
?>
<li>
<ul>
<li>
<?php echo $data->AvailableUnitsCount; ?>
</li>
</ul>
</li>
<?php
endforeach;
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.