循环数组数组 [英] Loop an array of array

查看:78
本文介绍了循环数组数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在PHP中,如何在不知道是否为数组的情况下循环数组的数组?

in PHP, how can i loop an array of array without know if is or not an array?

一个更好的例子:

Array
(
    [0] => Array
        (
            [0] => big
            [1] => small
        )

    [1] => Array
        (
            [0] => big
            [1] => tiny
        )

    [2] => Array
        (
            [0] => a
            [1] => b
            [2] => c
            [3] => d
            [4] => e
            [5] => f
        )
    [3] => row
    [4] => cols
    [5] => blablabla
    [6] => Array
        (
            [0] => asd
            [1] => qwe
        )
}

有什么主意吗?谢谢.

推荐答案

您可以使用 is_array 进行检查如果某物是数组,并且/或者您可以使用 is_object 来检查它是否可以在:

You can use is_array to check if something is an array, and/or you can use is_object to check if it can be used within foreach:

foreach ($arr as $val)
{
    if (is_array($val) || is_object($val)) 
    {
        foreach ($val as $subval)
        {
            echo $subval;
        }
    }
    else
    {
        echo $val;
    }
}

另一种替代方法是使用 RecursiveIteratorIterator :

Another alternative is to use a RecursiveIteratorIterator:

$it = new RecursiveIteratorIterator(
           new RecursiveArrayIterator($arr),
           RecursiveIteratorIterator::SELF_FIRST);

foreach($it as $value)
{
   # ... (each value)
}

递归迭代器可在多个深度上工作.

The recursive iterator works for multiple levels in depth.

这篇关于循环数组数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆