【问题标题】:How do I format print_r output using multi-dimensional array如何使用多维数组格式化 print_r 输出
【发布时间】:2017-03-11 21:45:55
【问题描述】:

我有一个多维数组如下,

$March = array (
    "Friday" => array(
            "1st" => 3,
            "2nd" => 10,
            "3rd" => 17,
            "4th" => 24,
            "5th" => 31 
    ),
    "Saturday" => array (
            "1st" => 4,
            "2nd" => 11,
            "3rd" => 18,
            "4th" => 25 
    ),
    "Sunday" => array (
            "1st" => 5,
            "2nd" => 12,
            "3rd" => 19,
            "4th" => 26 
    ),
    "Monday" => array (
            "1st" => 6,
            "2nd" => 13,
            "3rd" => 20,
            "4th" => 27 
    ),
    "Tuesday" => array (
            "1st" => 7,
            "2nd" => 14,
            "3rd" => 21,
            "4th" => 28 
    ),
    "Wednesday" => array (
            "1st" => 8,
            "2nd" => 15,
            "3rd" => 22,
            "4th" => 29 
    ),
    "Thursday" => array (
            "1st" => 9,
            "2nd" => 16,
            "3rd" => 23,
            "4th" => 30 
    ) 

)

我想按以下格式打印数组

[Friday] => Array ( [1st] => 3 [2nd] => 10 [3rd] => 17 [4th] => 24 [5th] => 31 )
[Saturday] => Array ( [1st] => 4 [2nd] => 11 [3rd] => 18 [4th] => 25 )
[Sunday] => Array ( [1st] => 5 [2nd] => 12 [3rd] => 19 [4th] => 26 )
[Monday] => Array ( [1st] => 6 [2nd] => 13 [3rd] => 20 [4th] => 27 ) 
[Tuesday] => Array ( [1st] => 7 [2nd] => 14 [3rd] => 21 [4th] => 28 )
[Wednesday] => Array ( [1st] => 8 [2nd] => 15 [3rd] => 22 [4th] => 29 ) 
[Thursday] => Array ( [1st] => 9 [2nd] => 16 [3rd] => 23 [4th] => 30 )

我可以使用 print_r($March);但它给了我这个输出

Array ( [Friday] => Array ( [1st] => 3 [2nd] => 10 [3rd] => 17 [4th] => 24 [5th] => 31 ) [Saturday] => Array ( [1st] => 4 [2nd] => 11 [3rd] => 18 [4th] => 25 ) [Sunday] => Array ( [1st] => 5 [2nd] => 12 [3rd] => 19 [4th] => 26 ) [Monday] => Array ( [1st] => 6 [2nd] => 13 [3rd] => 20 [4th] => 27 ) [Tuesday] => Array ( [1st] => 7 [2nd] => 14 [3rd] => 21 [4th] => 28 ) [Wednesday] => Array ( [1st] => 8 [2nd] => 15 [3rd] => 22 [4th] => 29 ) [Thursday] => Array ( [1st] => 9 [2nd] => 16 [3rd] => 23 [4th] => 30 ) ) 

我发现我可以使用print_r($March['Friday']); 打印出我的每个数组

但这只给了我这个

Array ( [1st] => 3 [2nd] => 10 [3rd] => 17 [4th] => 24 [5th] => 31 ) 

和这个不一样

[Friday] => Array ( [1st] => 3 [2nd] => 10 [3rd] => 17 [4th] => 24 [5th] => 31 )

请发送帮助,已经盯着 w3 几个小时了。

【问题讨论】:

  • 您不要为此使用print_r()。您必须编写自己的格式化代码。
  • 您想要的格式不是有效的 PHP 数组。您只需要将其显示为字符串吗?还是您希望能够进一步操作数据?
  • 我需要处理数据,这是一个家庭作业,我的下一个任务是使用 foreach 循环遍历数组,然后像这样打印出来”3 是 3 月的第一个星期五。10 是3 月的第 2 个星期五。17 是 3 月的第 3 个星期五。24 是 3 月的第 4 个星期五。31 是 3 月的第 5 个星期五。4 是 3 月的第一个星期六。11 是 3 月的第 2 个星期六。18 是第 3 个三月的星期六。”
  • 有学习,然后在一个简单的格式问题上卡住了几个小时,导致挫折,否则可以很好地利用(实际学习)。我想当你学习编码时,你没有卡住?并因此寻求帮助?同样,如果我排除了该响应的家庭作业部分怎么办。它让它变得如此不同吗?它不像我的问题是“我如何声明一个变量”。我只需要格式化方面的帮助。

标签: php html multidimensional-array


【解决方案1】:

要实现您在评论中所写的内容,您可以使用以下循环:

foreach($March as $nameOfDay => $dayArray ){
    foreach($dayArray as $key => $val){
        echo $val.' is the '.$key.' '.$nameOfDay.' in March. ';
    }
}

【讨论】:

    猜你喜欢
    • 2019-06-29
    • 2021-05-18
    • 2021-05-13
    • 1970-01-01
    • 2012-12-10
    • 2021-10-28
    • 2017-04-17
    • 2020-04-26
    • 2017-03-23
    相关资源
    最近更新 更多