我在尝试将数组值输出到单独的列表项时遇到了问题,例如:
- 1993梅赛德斯-奔驰自有
- 2006本田飞度租赁
以下是print_r($array)
:的输出
Array
(
[0] => [{"Year":"1993","Make":"Mercedes","Model":"Benz","Lease / Own":"Own"},{"Year":"2016","Make":"Honda","Model":"Fit","Lease / Own":"Lease"}]
)
然而,格式对我来说很棘手,我不确定当值像这样排列时,我应该从这里转到哪里才能输出值。
我知道这与array_keys()
有关,但我不知道该何去何从,因为以下内容什么都没给我:
print_r(array_keys($array));
有什么线索可以为我指明正确的方向吗?
您所展示的内容与array_keys()
无关。第一件事是解码数组的0索引,即JSON:
$result = json_decode($array[0], true);
然后循环通过:
foreach($result as $value) {
echo "{$value['Year']} {$value['Make']} {$value['Model']} {$value['Lease / Own']}<br>'n";
}
如果您需要密钥(年份、品牌、型号、租赁/拥有)作为列标题或其他内容,则可以在结果的第一行使用数组密钥:
foreach(array_keys($result[0]) as $heading) {
echo "$heading<br>'n";
}
echo "<ol>";
foreach ($array as $x) {
$x = json_decode($x);
$x = (array) $x;
foreach($x as $y) {
$data = ( array ) $y;
$year = $data['Year'];
$make = $data['Make'];
$leaseOwn = $data['Lease / Own'];
echo ("<li>{$year} {$make} {$leaseOwn}</li>");
}
}
echo "</ol>";
试试这个:
echo '<ul>';
for ($i=0; $i <count($array[0]); $i++) {
echo '<li>' . $array[0][$i]->year . ' ' . $array[0][$i]->make . ' ' . $array[0][$i]->model . ' ' . $array[0][$i]->{"Lease / Own"} . '</li>';
}
echo '</ul>';