【问题标题】:Iterate through array and get key and value [duplicate]遍历数组并获取键和值[重复]
【发布时间】:2011-04-14 18:45:17
【问题描述】:

我需要遍历一个动态数组。该数组将如下所示:

Array
(
    [2010091907] => Array
        (
            [home] => Array
            (
                [score] => Array
                (
                        [1] => 7
                        [2] => 17
                        [3] => 10
                        [4] => 7
                        [5] => 0
                        [T] => 41
                    )

                [abbr] => ATL
                [to] => 2
            )

        [away] => Array
            (
                [score] => Array
                    (
                        [1] => 0
                        [2] => 7
                        [3] => 0
                        [4] => 0
                        [5] => 0
                        [T] => 7
                    )

                [abbr] => ARZ
                [to] => 2
            )

        [weather] => 
        [media] => Array
            (
                [tv] => FOX
                [sat] => 709
                [sathd] => 709
                [radio] => Array
                    (
                        [home] => 153
                        [away] => 90
                    )

            )

        [bp] => 13
        [yl] => 
        [qtr] => Final
        [down] => 0
        [togo] => 0
        [clock] => 00:26
        [posteam] => ARZ
        [note] => 
        [redzone] => 
        [stadium] => Georgia Dome
    )

我需要它是动态的并且出于测试目的,我需要能够通过以下方式调用它:

echo "Key: $key; Value: $value<br />\n";

稍后我将获取这些信息并将其放入 mysql 数据库中,但现在,我需要复习一下数组并弄清楚如何格式化数据。

感谢任何帮助。

【问题讨论】:

    标签: php arrays iteration


    【解决方案1】:

    我会选择递归函数:如果一个值是一个数组,则再次调用它,否则显示键/值对。

    类似的东西(未测试):

    function display_array($your_array)
    {
        foreach ($your_array as $key => $value)
        {
            if is_array($value)
            {
                display_array($value);
            }
            else
            {
                 echo "Key: $key; Value: $value<br />\n";
            }
        }
    }
    
    display_array($some_array);
    

    【讨论】:

    • 这绝对有效。我只需要弄清楚如何使用这些信息从数组中调用对象,例如“home”的值等。
    • 我最初认为您可能想要获取键的单个值,但我拒绝了它,因为您有很多重复的键,例如 homeawayto 等。很高兴你搞定了!
    • 很酷的答案!我不得不将if is_array($value) 更改为if (is_array($value))
    猜你喜欢
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    • 2012-01-16
    • 2020-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-18
    相关资源
    最近更新 更多