Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 每个人。按键名访问数组项:“0”;非法字符串偏移量“;_Php_Arrays - Fatal编程技术网

Php 每个人。按键名访问数组项:“0”;非法字符串偏移量“;

Php 每个人。按键名访问数组项:“0”;非法字符串偏移量“;,php,arrays,Php,Arrays,我有以下数组: $leggi = Array("LeggeRegionale" => Array("0" => Array("intestazione" => "Legge regionale...", "articolato" => Array("articolo" => Array("num_articolo" => "Art. 25", "rubrica" =>

我有以下数组:

$leggi = Array("LeggeRegionale" =>  
    Array("0" =>
        Array("intestazione" => "Legge regionale...", "articolato" => 
            Array("articolo" => 
                Array("num_articolo" => "Art. 25", "rubrica" => "Abrogazione", "commi" => 
                    Array("num_comma" => "1.", "alinea" => "", "corpo" => "L'articolo..."),
                    ),
                ),
            ),
        ),
    );
使用下面的代码,我可以根据需要遍历数组
[LeggerRegionale]
及其所有子数组

echo "<pre>";
    print_r($leggi);
echo "</pre>";

echo "<pre>";
    foreach ($leggi[LeggeRegionale] as $legge) {
        echo $legge['intestazione'].PHP_EOL;
        foreach ($legge[articolato] as $key => $articolo) {
            echo $articolo['num_articolo'];
            echo $articolo['rubrica'].PHP_EOL;
            foreach($articolo[commi] as $value) {
                echo $value['num_comma'];    // <--- Doesn't work. Illegal string offset
                if (!is_array($value)) {     // <--- Does work.
                    echo $value;
                }
            }
        }
    }
echo "</pre>";
总结我想访问数组的项目
[commi]
如下:


我怀疑您的数组结构有问题,请尝试var_dump()检查它是否正确。

不要循环最后一个数组,而是将其用作


似乎是因为数组结构正确。证明就是我添加的
print\r
。如前所述(您可能会从我的代码中看到),我知道我可以使用
$value
访问值,但如有要求,我希望使用
$value['num\u comma'访问它们
echo$articolo['commi']['num_comma']
循环4次
num_comma
并输出:
1.1.1.
好的,在“粘贴箱”中它可以工作,因为您删除了每个
的最后一个
。您现在应该更正您的答案以被接受。
array(1) {
    ["LeggeRegionale"]=>
        array(1) {
            [0]=>
                array(2) {
                    ["intestazione"]=>
                        string(18) "Legge regionale..."
                    ["articolato"]=>
                        array(1) {
                            ["articolo"]=>
                                array(3) {
                                    ["num_articolo"]=>
                                        string(7) "Art. 25"
                                    ["rubrica"]=>
                                        string(11) "Abrogazione"
                                    ["commi"]=>
                                        array(3) {
                                            ["num_comma"]=>
                                                string(2) "1."
                                            ["alinea"]=>
                                                string(0) ""
                                            ["corpo"]=>
                                                string(13) "L'articolo..."
                                    }
                               }
                          }
                     }
                }
           }
echo $value['num_comma'];
echo $value['alinea'];
echo $value['corpo'];
foreach ($leggi['LeggeRegionale'] as $legge) {
    echo $legge['intestazione'];
    foreach ($legge['articolato'] as $key => $articolo) {
        echo $articolo['num_articolo'];
        echo $articolo['rubrica'];
        if (is_array($articolo['commi'])) {
            echo $articolo['commi']['num_comma'];
            echo $articolo['commi']['alinea'];
            echo $articolo['commi']['corpo'];
        }
    }
}