【问题标题】:Create array multidimensional from looping从循环创建数组多维
【发布时间】:2019-12-29 05:28:48
【问题描述】:

我想通过循环创建多维数组,但我想要的结果与预期不符,这是我的代码:

$dayCount = 5;
for($i=1;$i<=$dayCount;$i++){
   $days[] = array($i<=9?"0".$i:$i => "string");
}

结果:

Array
(
    [0] => Array
        (
            [01] => string
        )
    [1] => Array
        (
            [02] => string
        )
    [2] => Array
        (
            [03] => string
        )
    [3] => Array
        (
            [04] => string
        )
    [4] => Array
        (
            [05] => string
        )
)

我的预期结果:

Array
(
    [01] => string
    [02] => string
    [03] => string
    [04] => string
    [05] => string
)

如何实现?提前致谢

【问题讨论】:

    标签: php arrays loops multidimensional-array


    【解决方案1】:

    试试这个,检查demo

    $dayCount = 5;
    for($i=1;$i<=$dayCount;$i++){
       $days[str_pad($i,2,'0',STR_PAD_LEFT)] = "string";
    }
    var_dump($days);
    

    【讨论】:

      【解决方案2】:

      这种表示法将数组作为元素添加到数组中。

      $array[] = array(..);
      

      结果是一个二维数组。 要获取以自定义字符串为键的一维数组,请执行以下操作:

      $dayCount = 5;
      for($i=1;$i<=$dayCount;$i++){
        $myKey = sprintf("%02d",$i);
        $days[$myKey] = "string";
      }
      

      注意:对于keys> 9,php会用这段代码生成整数类型的keys。

      【讨论】:

        猜你喜欢
        • 2014-06-26
        • 2011-05-28
        • 1970-01-01
        • 2013-04-30
        • 2014-10-25
        • 1970-01-01
        • 2012-04-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多