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'];
}
}
}