PHP:错误回显bidimentional数组 - >数组到字符串转换

时间:2017-01-02 11:48:12

标签: php arrays echo

我有以下bidimentional数组:available_years_with_months:

Array
(
    [2017] => Array
        (
            [0] => January
        )

    [2016] => Array
        (
            [0] => December
            [59] => November
            [148] => October
            [149] => September
            [167] => August
            [534] => April
        )

    [2014] => Array
        (
            [0] => August
        )

    [2012] => Array
        (
            [0] => August
        )
)

我希望以这种方式在html中回显它:2017年1月,2016年12月,2016年11月等...如图所示:

enter image description here

我在HTML中编写了这个select语句以提取月份和年份:

<select>
  <option value="all" selected>All dates</option>
  <?php foreach ($available_years_with_months as $month): ?>
  <option value="<?php echo $month; ?>"><?php echo $month; ?></option>
<?php endforeach; ?>
</select> 

但我收到了一个错误:

  

b900386fd351eb78414201e8cfaa8c3c69c71170.php中的ErrorException第16行:数组转换为字符串

第16行是这一行:

<option value="<?php echo $month; ?>"><?php echo $month; ?></option>

我做错了什么?

1 个答案:

答案 0 :(得分:1)

看起来你需要在这里使用嵌套循环。

循环1多年。循环2几个月。

<?php foreach ($available_years_with_months as $year => $months): ?>
    <?php foreach ($months as $month): ?>
       <option value="<?php echo $month; ?> <?php echo $year; ?>">
           <?php echo $month; ?> <?php echo $year; ?>
       </option>
    <?php endforeach; ?>   
<?php endforeach; ?>