如何从PHP-array_keys()在列表中输出这些值


How to output these values in a list from PHP - array_keys()?

我在尝试将数组值输出到单独的列表项时遇到了问题,例如:

  • 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>';