【问题标题】:Looping through multidimensional array in PHP, not working在PHP中循环遍历多维数组,不起作用
【发布时间】:2017-09-16 00:47:42
【问题描述】:

我有来自服务的以下数组,但正常的foreach 不起作用。这是我的代码:

Array
(
    [record] => Array
        (
            [0] => Array
                (
                    [name] => Jhon
                    [direction] => street 1
                    [last_name] => ops

                )

            ...

        )

)

我的循环是

 foreach ($array as $key) {
        echo "<h1>".$key["name"]."</h1>";
        echo '<pre>'; var_dump($key);
   }

有什么想法吗?

【问题讨论】:

    标签: php arrays multidimensional-array foreach


    【解决方案1】:

    您需要使用多个foreach

    //echo '<pre>';
    foreach ( $array as $records ) {
        foreach ($records as $record ) {
            foreach ($record as $key => $value) {
                printf( '%10s: %s', $key, $value );
            }
        }
    }
    //echo '</pre>';
    

    示例 1

    $record = [ 'name'=>'Jhon', 'direction'=>'street 1', 'last_name'=>'ops' ];
    $records['record'] = $record;
    $array[] = $records;
    
    
    //echo '<pre>';
    
    //print_r( $array );
    
    foreach ( $array as $records ) {
        foreach ($records as $record ) {
            foreach ($record as $key => $value) {
                printf( '%10s: %s%s', $key, $value, PHP_EOL );
            }
        }
    }
    //echo '</pre>';
    

    示例 2

    $record = [ 'name'=>'Jhon', 'direction'=>'street 1', 'last_name'=>'ops' ];
    $records['record'] = $record;
    $array[] = $records;
    
    
    foreach ( $array as $records ) {
        foreach ($records as $record ) {
            echo 'Name: '. $record['name'] . '<br>';
        }
    }
    

    【讨论】:

    • 嗨,感谢您的回答,看看我是否使用了示例 2,显示:致命错误:未捕获的错误:无法在中使用 Customer 类型的对象作为数组
    • 把变量名改成别的就行了。
    • 好的,完美,但它的fanny只显示了第一条记录,你知道为什么吗?
    猜你喜欢
    • 2012-04-21
    • 2011-01-02
    • 2016-02-16
    • 2021-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多