PHP:错误呼应一个bidimentional阵列 - >阵列字符串转换

问题描述:

我有以下bidimentional阵列称为:available_years_with_months:PHP:错误呼应一个bidimentional阵列 - >阵列字符串转换

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年,十二月2016年,2016年11月,等...如图片所示:

enter image description here

我在HTML写这个查询语句来拉月份和年份:

<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> 

但我得到了一个错误:

ErrorException in b900386fd351eb78414201e8cfaa8c3c69c71170.php line 16: Array to string conversion

线16,这是一个:

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

我做错了吗?

+1

'$ mont'是个数组,你还需要一个的foreach –

+0

@bub我编辑过线16 –

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

循环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; ?> 
+0

谢谢你的回答。它完美的作品 –