【问题标题】:I do not know how to optimize [closed]我不知道如何优化[关闭]
【发布时间】:2013-12-30 13:58:15
【问题描述】:

不知道如何优化生成:

$choices = Array
(
    ["00"] => "00"
    ["01"] => "01"
    ["02"] => "02"
    ["03"] => "03"
    ["04"] => "04"
    ["05"] => "05'
    ["06"] => "06"
    ["07"] => "07"
    ["08"] => "08"
    ["09"] => "09"
    ["10"] => "10"
    ["11"] => "11"
    ["12"] => "12"
    ["13"] => "13"
    ["14"] => "14"
    ["15"] => "15"
    ["16"] => "16"
    ["17"] => "17"
    ["18"] => "18"
    ["19"] => "19"
    ["20"] => "20"
    ["21"] => "21"
    ["22"] => "22"
    ["23"] => "23"
);

【问题讨论】:

    标签: php


    【解决方案1】:

    使用range函数:

    $choices = range(0, 22);
    

    如果您绝对需要string,您可以使用foreachstrval

    【讨论】:

      【解决方案2】:

      老实说,除非您从外部流程中获得最大价值,否则您不应该尝试优化它。以这种方式显式指定每个键和值比动态计算它们要快。

      【讨论】:

        【解决方案3】:

        “范围”函数不会呈现相同的数组 改用:

        $choices = array();
        for ($i = 0; $i < 23; $i++) {
            $choices[str_pad($i, 2, '0', STR_PAD_LEFT)] = str_pad($i, 2, '0', STR_PAD_LEFT);
        }
        

        【讨论】:

          【解决方案4】:

          对于字符串,你可以这样做

          $choices = range(0, 22);
          
          function makestring($value){
              return (string)$value;
          }
          
          
          $result = array_map('makestring',$choices,array_keys($choices));
          

          【讨论】:

            猜你喜欢
            • 2023-04-10
            • 1970-01-01
            • 2010-11-09
            • 1970-01-01
            • 2016-04-27
            • 2022-01-01
            • 1970-01-01
            • 2020-03-09
            • 1970-01-01
            相关资源
            最近更新 更多