簡體   English   中英

循環遍歷多維數組

[英]looping through multi dimension array

我正在使用 PHP 解碼解析 PHP 中的 JSON 文件

$json= file_get_contents ("resultate.json");


$json = json_decode($json, true);

然后我試圖遍歷結果並顯示它們

 foreach($json as $zh){


$name = $zh[0]["VORLAGEN"][0]["JA_PROZENT"];
$JA = $zh[0]["VORLAGEN"][0]["VORLAGE_NAME"];
$kreis = $zh[0]["NAME"];
$kreis1 = $zh[22]["NAME"];




 echo $name;
 echo $JA;
 echo $kreis;
 echo $kreis1;
    ...}

但我只收到一個元素,例如 position 0 或 position 22。我想收到所有結果並將它們顯示在列表中。 下面你可以看到數組

Array
(
    [GEBIETE] => Array
        (
            [0] => Array
                (
                    [VORLAGEN] => Array
                        (
                            [0] => Array
                                (
                                    [VORLAGE_NAME] => Kantonale Volksabstimmung über die Vorlage Steuergesetz (StG) (Änderung vom 1. April 2019; Steuervorlage 17)
                                    [JA_STIMMEN_ABSOLUT] => 205
                                    [STIMMBETEILIGUNG] => 28.11
                                    [NEIN_STIMMEN_ABSOLUT] => 183
                                    [VORLAGE_ID] => 2491
                                    [JA_PROZENT] => 52.84
                                )

                        )

                    [NAME] => Aeugst a.A.
                    [WAHLKREIS] => 0
                    [BFS] => 1
                )

            [1] => Array
                (
                    [VORLAGEN] => Array
                        (
                            [0] => Array
                                (
                                    [VORLAGE_NAME] => Kantonale Volksabstimmung über die Vorlage Steuergesetz (StG) (Änderung vom 1. April 2019; Steuervorlage 17)
                                    [JA_STIMMEN_ABSOLUT] => 1000
                                    [STIMMBETEILIGUNG] => 26.15
                                    [NEIN_STIMMEN_ABSOLUT] => 851
                                    [VORLAGE_ID] => 2491
                                    [JA_PROZENT] => 54.02
                                )

                        )

                    [NAME] => Affoltern a.A.
                    [WAHLKREIS] => 0
                    [BFS] => 2
                )

            [2] => Array
                (
                    [VORLAGEN] => Array
                        (
                            [0] => Array
                                (
                                    [VORLAGE_NAME] => Kantonale Volksabstimmung über die Vorlage Steuergesetz (StG) (Änderung vom 1. April 2019; Steuervorlage 17)
                                    [JA_STIMMEN_ABSOLUT] => 661
                                    [STIMMBETEILIGUNG] => 30.98
                                    [NEIN_STIMMEN_ABSOLUT] => 454
                                    [VORLAGE_ID] => 2491
                                    [JA_PROZENT] => 59.28
                                )

                        )

                    [NAME] => Bonstetten
                    [WAHLKREIS] => 0
                    [BFS] => 3
                )

你能告訴我如何打印這個數組的所有元素嗎?

json 中有GEBIETE層,因此將foreach($json as $zh)更改為foreach($json["GEBIETE"] as $zh)將起作用。

您可以嵌套多個foreach

$root = $json['GEBIETE'];

foreach ($root as $elem) {
    foreach ($elem as $key => $value) {
        // VORLAGEN is an array of its own so if you want to print the keys you should foreach this value as well
        if(is_array($value)) {
            foreach ($value[0] as $k => $v) {
                echo $k."\t".$v;
            }
        }
        else {
            echo $value;
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM