doubeijian2257 2016-05-23 19:16
浏览 47
已采纳

在php中创建带有数字的关联数组 - 合并3个数组

I'm trying to create dropdown from associative array starting with:

`None` => `None`

after that numbers from 01 to 24 in format -> 01, 02, 03...10,11...24 and finally add:

`25+` => `25+`

Keys and values of dropdown should be the same.

I tried the following:

$format_numbers1 = array();
$format_numbers1['None'] = 'None';
for($i=1;$i<=9;$i++) {
$numbers[] = $i;
}

foreach($numbers as $number) {
$n = str_pad($number, 2, '0', STR_PAD_LEFT);
$format_numbers2[$n] = str_pad($number, 2, '0', STR_PAD_LEFT);
}
for($j=10;$j<=24;$j++) {
$format_numbers3[$j] = $j;
}
$format_numbers_new = array_merge($format_numbers1, $format_numbers2);
$format_numbers = array_merge($format_numbers_new, $format_numbers3);
$format_numbers['25+'] = '25+';

But I get this output:

array(26) { ["None"]=> string(4) "None" ["01"]=> string(2) "01" ["02"]=> string(2) "02" ["03"]=> string(2) "03" ["04"]=> string(2) "04" ["05"]=> string(2) "05" ["06"]=> string(2) "06" ["07"]=> string(2) "07" ["08"]=> string(2) "08" ["09"]=> string(2) "09" [0]=> int(10) [1]=> int(11) [2]=> int(12) [3]=> int(13) [4]=> int(14) [5]=> int(15) [6]=> int(16) [7]=> int(17) [8]=> int(18) [9]=> int(19) [10]=> int(20) [11]=> int(21) [12]=> int(22) [13]=> int(23) [14]=> int(24) ["25+"]=> string(3) "25+" } 

Dropdown keys from 10 to 24 aren't correct.

  • 写回答

3条回答 默认 最新

  • dongren1986 2016-05-23 19:22
    关注

    For the range of 10..24 you're using integers as your keys, instead of strings:

    for ($j = 10; $j <=24; $j++) {
        $format_numbers3["$j"] = "$j";
        # here ----------^--^----^--^
    }
    

    But frankly, you're over-complicating things. str_pad can handle values it doesn't need to pad, so you can handle all the numbers 1..24 in a single loop:

    $format_numbers = array();
    $format_numbers['None'] = 'None';
    for ($i = 1 ;$i <= 24; $i++) {
        $n = str_pad($i, 2, '0', STR_PAD_LEFT);
        $format_numbers2[$n] = $n;
    }
    $format_numbers['25+'] = '25+';
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试