【问题标题】:Array in 'while' loop'while' 循环中的数组
【发布时间】:2017-06-15 01:55:48
【问题描述】:

我被卡住了

我将解释这个概念;我检索了我使用一段时间修改的查询的数据(日期),在我正确修改日期之后,我启动了一个切换。 在此开关中,我想将日期添加到显示“2017 年”+ 日期的表格中,但在此集合中,我想插入我的日期,但它不起作用。 如果我初始化一个变量示例: $x = "15:06";有用。救命!

这里是对应的代码:$annee_selectionne 框不起作用

 $req_public_holiday = $bdd - > query('SELECT * FROM public_holiday');


 while ($donnees_public_holiday = $req_public_holiday - > fetch()) {

   $format_date = date('Y.m.d', strtotime($donnees_public_holiday['date']));
   $var1 = explode('.', $format_date);

   $year_selectionne = $var1[0];
   $month_selectionne = $var1[1];
   $day_selectionne = $var1[2];
   $date_x = $day_selectionne.
   ":".$month_selectionne;


   switch ($year_selectionne) {
     case 2013:
       $free_day = array('01:01', '01:04', '01:05', '08:05', '09:05', '14:07', '15:08', '01:11', '11:11', '25:12');
       break;
     case 2014:
       $free_day = array('01:01', '21:04', '01:05', '08:05', '29:05', '09:06', '14:07', '15:08', '01:11', '11:11', '25:12');
       break;
     case 2015:
       $free_day = array('01:01', '06:04', '01:05', '08:05', '14:05', '25:05', '14:07', '15:08', '01:11', '11:11', '25:12');
       break;
     case 2016:
       $free_day = array('01:01', '28:03', '01:05', '05:05', '14:07', '15:08', '01:11', '11:11', '25:12');
       break;
       problem-- >
     case $year_selectionne:
       $free_day = array($day_selectionne.':'.$month_selectionne);
       break;
     default:
       $free_day = array('01:01', '01:05', '08:05', '14:07', '15:08', '01:11', '11:11', '25:12');
       break;
   }

 }

【问题讨论】:

  • 你应该添加一些 html,也许还有一些 css。你可以去jsfiddle.net 并把你所有的代码放在那里。在此处发布 jsfiddle URL .. 作为评论或编辑您的问题并将其插入。
  • 我不明白 - 初始化变量有什么问题;你应该初始化你的变量,否则它们将是未定义的?所有的值都是一样的还是有什么问题?
  • 还有 phpfiddle.org 用于制作 php fiddles

标签: php html arrays


【解决方案1】:

我相信更好的方法是为要添加到数组中的月份:日期值创建一个变量,而不是推送到它(PHP array_push())

只需创建一个 array() 类型的 $month_date 变量,然后使用该方法将其推入即可。 您可能需要 if..else 检查该变量是否已存在。

【讨论】:

  • @igor-paiva 显示了与我建议使用 array_push() 相同的东西,这一定很有帮助。 :)
【解决方案2】:

我更改了您的代码并使用了函数array_push()

 $req_public_holiday = $bdd - > query('SELECT * FROM public_holiday');


 while ($donnees_public_holiday = $req_public_holiday - > fetch()) {

   $format_date = date('Y.m.d', strtotime($donnees_public_holiday['date']));
   $var1 = explode('.', $format_date);

   $year_selectionne = $var1[0];
   $month_selectionne = $var1[1];
   $day_selectionne = $var1[2];
   $date_x = $day_selectionne.
   ":".$month_selectionne;


   switch ($year_selectionne) {
     case 2013:
       $free_day = array('01:01', '01:04', '01:05', '08:05', '09:05', '14:07', '15:08', '01:11', '11:11', '25:12');
       break;
     case 2014:
       $free_day = array('01:01', '21:04', '01:05', '08:05', '29:05', '09:06', '14:07', '15:08', '01:11', '11:11', '25:12');
       break;
     case 2015:
       $free_day = array('01:01', '06:04', '01:05', '08:05', '14:05', '25:05', '14:07', '15:08', '01:11', '11:11', '25:12');
       break;
     case 2016:
       $free_day = array('01:01', '28:03', '01:05', '05:05', '14:07', '15:08', '01:11', '11:11', '25:12');
       break;

     case date('Y'):
       $free_day = array_push($free_day, $day_selectionne.':'.$month_selectionne);
       break;
     default:

       $free_day = array('01:01', '01:05', '08:05', '14:07', '15:08', '01:11', '11:11', '25:12');
       break;
   }

 }

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2020-10-28
    • 1970-01-01
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    • 2014-11-02
    • 2019-04-19
    相关资源
    最近更新 更多