在PHP中,如何使用多个键访问多维数组中的数据

这是数组:

df2 = pd.DataFrame({'Item': ['A','A','C','C'],'Side':['TRUE','FALSE','TRUE','TRUE'],'Source':['1a','5e','3c','7g','9j']
                  })

print df2

 Item   Side Source
0    A   TRUE     1a
1    A  FALSE     5e
2    C   TRUE     3c
3    C  FALSE     7g
4    C   TRUE     9j

我已经具有输出每个城市的一般信息的功能(例如:对于芝加哥,我输出了“ 45”和“雾”):

$weatherData = [
    "Chicago" => [45,"fog",["Mon" => [44,"fog"],"Tue" => [42,"sleet"],"Wed" => [40,"rain"],"Thu" => [44,"cloudy"],"Fri" => [45,"cloudy"]]],"Paris" =>   [73,"sunny",["Mon" => [75,"sunny"],"Tue" => [75,"Wed" => [68,"Thu" => [66,"Fri" => [60,"rain"]]],"Calgary" => [-8,"snow",["Mon" => [-7,"snow"],"Tue" => [-10,"Wed" => [-3,"Thu" => [0,"Fri" => [3,"sunny"]]]
];

现在我需要输出其他信息,例如芝加哥的“ Mon 44 fog”,“ Tues 42 sleet” ... 到目前为止,我知道了:

function outputBox($weatherData)
{
    foreach ($weatherData as $key => $value) {
        echo "<article class='box'";
        echo "<h1>$key</h1>";
        echo "<div class='weather'>";
        echo "<img src='images/$key.jpg' />";
        echo "<div>";
        echo "<h2>$value[0]</h2>";
        echo "<p>$value[1]</p>";
        echo "</div>";
        echo "</div>";
    }

    outputForecast($weatherData);
}

我不知道什么合适的代码可以访问我的循环中的这些数字,但它应该输出星期一至星期五的详细信息,请帮忙谢谢!

zhongten 回答:在PHP中,如何使用多个键访问多维数组中的数据

您好,scoobidydoo已经很接近解决方案了,但是您需要阅读有关PHP数组的信息。玩代码非常有趣。只需更改两个功能,

这是解决方案: https://paiza.io/projects/Led6GCYVW6HV1dIZH6MdVQ?language=php

function outputBox($weatherData)
{
    foreach ($weatherData as $key => $value) {
        echo "<article class='box'>";
        echo "<h1>$key</h1>";
        echo "<div class='weather'>";
            echo "<img src='images/$key.jpg' />";
            echo "<div>";
            echo "<h2>$value[0]</h2>";
            echo "<p>$value[1]</p>";
        echo "</div>";
        echo "</article>";

        outputForecast($value[2]);
        echo '<hr/>';
    }
}

function outputForecast($valueDays){
    echo "<h2>Forecast</h2>";
    foreach ($valueDays as $key => $value){
        echo "<section>";
            echo "<div>";
                echo "<h3>$key</h3>";
                echo "<p>$value[0] - $value[1]</p>";
            echo "</div>";
        echo "</section>";
    }
}
,

您也可以这样做

function outputBox($weatherData)
{
    foreach ($weatherData as $key => $value) {
        echo $key.",".$value[0].",".$value[1].",".'</br>';
        if(!empty($value[2])){
           foreach ($value[2] as $k1 => $v1) {
               echo '"'.$k1." ".$v1[0]." ".$v1[1].'"';
           }
        }
        echo '</br>';
    }
}

print_r(outputBox($weatherData));

输出:

Chicago,45,fog,"Mon 44 fog""Tue 42 sleet""Wed 40 rain""Thu 44 cloudy""Fri 45 cloudy"
Paris,73,sunny,"Mon 75 sunny""Tue 75 sunny""Wed 68 cloudy""Thu 66 cloudy""Fri 60 rain"
Calgary,-8,snow,"Mon -7 snow""Tue -10 snow""Wed -3 sleet""Thu 0 cloudy""Fri 3 sunny"
,
$weatherData = [
    "Chicago" => [45,"fog",["Mon" => [44,"fog"],"Tue" => [42,"sleet"],"Wed" => [40,"rain"],"Thu" => [44,"cloudy"],"Fri" => [45,"cloudy"]]],"Paris" => [73,"sunny",["Mon" => [75,"sunny"],"Tue" => [75,"Wed" => [68,"Thu" => [66,"Fri" => [60,"rain"]]],"Calgary" => [-8,"snow",["Mon" => [-7,"snow"],"Tue" => [-10,"Wed" => [-3,"Thu" => [0,"Fri" => [3,"sunny"]]]
];

printData($weatherData);

function printData($weatherData)
{
    foreach ($weatherData as $key => $data) {
        echo '****<b>' . $key . ': ' . $data[0];
        echo ' ' . $data[1] . '</b>****<br>';
        echo json_encode($data[2]) . '<br><br>';
    }
}

输出

****Chicago: 45 fog****
{"Mon":[44,"Tue":[42,"Wed":[40,"Thu":[44,"Fri":[45,"cloudy"]}
****Paris: 73 sunny****
{"Mon":[75,"Tue":[75,"Wed":[68,"Thu":[66,"Fri":[60,"rain"]}
****Calgary: -8 snow****
{"Mon":[-7,"Tue":[-10,"Wed":[-3,"Thu":[0,"Fri":[3,"sunny"]}
本文链接:https://www.f2er.com/3120812.html

大家都在问