我正在迭代来自API的JSON数据,如下所示:
$data = file_get_contents(endpoint); // this is a WordPress func
$parsed_json = json_decode($data, true);
foreach($parsed_json as $unit_floor_data) {
$unit_floor_data["Beds"] ...
}
这是我被卡住的地方。 $unit_floor_data
var_dump string(1) "1" string(1) "1" string(1) "2" string(1) "2" string(1) "3" string(1) "4"
。目标是有一个像[1,2,3,4]这样的数组,我可以迭代并在输出的HTML中使用,如下所示:
$output = '<div id="property_floorplan" class="checkbox-container">';
$output .= '<label>Refine:</label>';
$output .= '<div class="checkbox-inline"><label class="bedrooms"><input type="checkbox" data-bedrooms="1">'.$bed_number.' Bed</label></div>' ;
..and so on...
这是$ parsed_json
的var_dump的片段array(6) { [0]=> array(18) { ["PropertyId"]=> string(6) "167675" ["FloorplanId"]=> string(6) "972907" ["FloorplanName"]=> string(11) "Blue Bonnet" ["Beds"]=> string(1) "1" ["Baths"]=> string(4) "1.00" ["MinimumSQFT"]=> string(3) "701" ["MaximumSQFT"]=> string(3) "701" ["MinimumRent"]=> string(2) "-1" ["MaximumRent"]=> string(2) "-1" ["MinimumDeposit"]=> string(1) "0"
显然,PHP不是我的强项,我感谢你的帮助。
答案 0 :(得分:0)
这样的事情:
<?php
$data = '{
"0" : {"Beds" : 1},
"1" : {"Beds" : 1},
"2" : {"Beds" : 1},
"3" : {"Beds" : 2},
"4" : {"Beds" : 3},
"5" : {"Beds" : 4},
"13" : {"Beds" : 13}
}';
$parsed_json = json_decode($data, true);
// List of unique "beds" values. Indexed array.
$bedsList = [];
foreach ($parsed_json as $unit_floor_data) {
$beds = $unit_floor_data['Beds'];
// Append the "beds" value to the $bedsList, if not already.
if (!in_array($beds, $bedsList)) {
$bedsList[] = $beds;
}
}
$output = '<div id="property_floorplan" class="checkbox-container">';
$output .= '<label>Refine:</label>';
// Create a div with checkbox for each item in $bedsList.
foreach ($bedsList as $key => $beds) {
$output .= '<div class="checkbox-inline">';
$output .= '<label class="bedrooms">';
$output .= '<input type="checkbox" data-bedrooms="' . $beds . '">' . $beds . ' Beds';
$output .= '</label>';
$output .= '</div>';
}
$output .= '</div>'; /* End of "property_floorplan" div */
echo $output;
建议:尽量避免从php打印html代码。在html部分中使用php片段,而不是反向。
祝你好运。