douren8379 2016-10-31 22:59
浏览 184
已采纳

在php中使用for循环构建关联数组

I am trying to create an associative array using php. My desired output is

Array
(
     [key] => fl_0_sq
),
Array
(
     [key] => fl_1_sq
)

The code is

  $max_val = 2;  
  for($i=0; $i<$max_val; $i++)
  {
        $flr_arr .= "array('key' => 'fl_".$i."_sq'),";      
  }
  print_r($flr_arr);

Output is

array('key' => 'fl_0_sq'),array('key' => 'fl_1_sq'),

Now the issue is that it has become a string instead of an array. Is it at all possible to create a array structure like the desired output. Any help is highly appreciated.

  • 写回答

3条回答 默认 最新

  • douke3335 2016-10-31 23:06
    关注

    You could do this:

    <?php
    
    $flr_arr = [];
    
    $max_val = 2;
    for ($i = 0; $i < $max_val; $i++) {
      $flr_arr[][key] = 'fl_' . $i . '_sq';
    }
    
    $output = "<pre>";
    
    foreach ($flr_arr as $i => $flr_arr_item) {
      $output .= print_r($flr_arr_item, true);
      if($i < count($flr_arr)-1){
        $output = substr($output, 0, -1) . ",
    ";
      }
    }
    $output .= "</pre>";
    
    echo $output;
    

    The output:

    Array
    (
        [key] => fl_0_sq
    ),
    Array
    (
        [key] => fl_1_sq
    )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 能给我一些人生建议吗
  • ¥15 mac电脑,安装charles后无法正常抓包
  • ¥18 visio打开文件一直显示文件未找到
  • ¥15 请教一下,openwrt如何让同一usb储存设备拔插后设备符号不变?
  • ¥30 使用quartz框架进行分布式任务定时调度,启动了两个实例,但是只有一个实例参与调度,另外一个实例没有参与调度,不知道是为什么?请各位帮助看一下原因!!
  • ¥50 怎么获取Ace Editor中的python代码后怎么调用Skulpt执行代码
  • ¥30 fpga基于dds生成幅值相位频率和波形可调的容易信号发生器。
  • ¥15 R语言shiny包和ncdf4包报错
  • ¥15 origin绘制有显著差异的柱状图和聚类热图
  • ¥20 simulink实现滑模控制和pid控制对比,提现前者优势