php - 如何在 PHP 中打印元素数量未知的数组

标签 php mysql

我在打印数组元素时遇到了一个非常奇怪的问题。

我试图在 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/

相关文章:

PHP 重定向而不修改 header

php - 查询输出中缺少 DATETIME 值,然后自动填充缺少的值并获得正确的输出

mysql - 在 HABTM 关系上执行 ActiveRecord 查找时 SQL 速度缓慢

mysql 继承位置方案

mysql - LOAD DATA LOCAL INFILE 行从问题开始

mysql - 创建 View 表时如何多次使用COUNT?

linux - 运行 PHP Cli 时出现段错误

php - PDO 的行数

javascript - 为什么 php 变量不能与我的 Javascript/Laravel-5 Google map 代码一起使用?

php - 如何在mysql中获取逗号分隔的id的名称?