循环浏览已发布的数组,输出所有姓氏。

问题描述 投票:0回答:1

有没有更简单的方法做这个?

    $data = file_get_contents("dumps/datadump-hung1.json");
    $post = json_decode($data, true);

    $currentdriver1st = $post['sessionResult']['leaderBoardLines'][0]['currentDriver']['lastName'];
    $currentdriver2nd = $post['sessionResult']['leaderBoardLines'][1]['currentDriver']['lastName'];   
    $currentdriver3rd = $post['sessionResult']['leaderBoardLines'][2]['currentDriver']['lastName'];      
    echo $currentdriver1st ."<br>" . $currentdriver2nd ."<br>" . $currentdriver3rd ."<br>";

这个呼应了它应该做的事情,而不是有24行差不多的代码。

martins
mertesacker
ricciado

而不是有24行几乎相同的代码,我已经试过用 foreach 语句,但我无法理解我如何拉出所有24个司机的名字(这里的三个只是让你明白)。

php arrays json multidimensional-array
1个回答
0
投票

你在以下方面做得很对 foreach 循环。

$data = file_get_contents("dumps/datadump-hung1.json");
$post = json_decode($data, true);

$output = '';
foreach($post['sessionResult']['leaderBoardLines'] as $userArr){
    $output .= $userArr['currentDriver'] . "<br>";
}
echo($output);

看来你可能只想在这里输出前三名,那么我建议你在数组中使用一个计数器(或者可能只是一个for-loop而不是foreach循环)。

© www.soinside.com 2019 - 2024. All rights reserved.