我在打印数组元素时遇到了一个非常奇怪的问题。
我试图在 php foreach 中打印出数组的一些元素这正是数组的样子
[2] => Array
(
[id] => 3
[body] => dsfgdfgd
[has_subquestion] => 1
[is_subquestion] => 0
[ordering] => 2
[is_manditory] => 0
[created] => 2013-01-09 12:06:47
[parent_id] => 0
[sub] => Array
(
[0] => Array
(
[id] => 4
[body] => dfgdfg
[has_subquestion] => 1
[is_subquestion] => 1
[ordering] => 0
[is_manditory] => 0
[created] => 2013-01-09 11:24:20
[parent_id] => 3
)
[1] => Array
(
[id] => 23
[body] => gsdgdf
[has_subquestion] => 1
[is_subquestion] => 1
[ordering] => 14
[is_manditory] => 0
[created] => 2013-01-09 12:56:33
[parent_id] => 3
)
)
)
[3] => Array
(
[id] => 5
[body] => dfgdfg
[has_subquestion] => 1
[is_subquestion] => 0
[ordering] => 3
[is_manditory] => 0
[created] => 2013-01-09 12:06:47
[parent_id] => 0
[sub] => Array
(
[id] => 6
[body] => dfgdfg
[has_subquestion] => 0
[is_subquestion] => 1
[ordering] => 3
[is_manditory] => 0
[created] => 2013-01-08 13:37:07
[parent_id] => 5
)
)
请注意,第一个有 2 个 [sub],而第二个只有一个。这是我打印它们的代码
echo count($question['sub']);
foreach($question['sub'] as $s):
echo '<li>
<input type="hidden" name="sub[id]" value="'. $s['id'] .'" />
<input type="hidden" name="sub[parent]" value="'. $question['id'] .'" />
'. $s['body'] .'</li>';
endforeach;
这是打印出来的
2 dfgdfg
8 <--计数(应该是 1 而不是 8) 6 <--以下每一个都是子数组中的第一个字母/数字 d 0 1个 3个 0 2
谁能看出我做错了什么?
最佳答案
运行 print_r($数组).
它也应该以递归方式给你答案
关于php - 如何在 PHP 中打印元素数量未知的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14244802/