【问题标题】:How to set multiple start and end time in single string如何在单个字符串中设置多个开始和结束时间
【发布时间】:2018-03-05 09:50:28
【问题描述】:

我想在数据库中保存多个以逗号分隔的开始和结束时间。

例如以下是我的开始时间和结束时间数组。

Array
(
    [0] => 1:00
    [1] => 2:00
    [2] => 3:00
    [3] => 4:00
)

我想将它存储到数据库中,例如 1:00-2:00, 3:00-4:00

我该怎么做?

我使用了以下代码。

$array = array('1:00','2:00','3:00','4:00');
$i=0;
foreach ($array as $key => $value) {
    if($i%2 !=0){
        echo $value.'-'.',';
    }
    echo $value.'-';

$i++;
}

【问题讨论】:

  • 向我们展示你的努力
  • 您可以通过编写代码来做到这一点。虽然你真的不应该这样做,因为它会使数据检索变得不必要地复杂。

标签: php mysql arrays


【解决方案1】:

我使用了 array_chunk 并执行了 2 个 foreach 循环,我不知道它的正确格式我的代码是:

$array = array('1:00','2:00','3:00','4:00');
$i=0;
$input_array = array_chunk($array, 2);
foreach ($input_array as $key => $value) {
  foreach($value as $val){      
    if($i%2 != 0){
        echo $val.',';
    }else{
     echo $val.'-';
    }
    $i++;
  }
}

O/P 是:

1:00-2:00,3:00-4:00

【讨论】:

    【解决方案2】:
    <?php
    $array = array('1:00','2:00','3:00','4:00');
    foreach ($array as $key => $value) {
        if($i%2 == 0){
            $start = $value;
        } else {
            $end = $value;
            if($output != "") $output .= ",";
            $output .= $start . "-" . $end;
        }
    $i++;
    }
    
    echo $output;
    ?>
    

    所以快速浏览一下我所做的事情。

    我已删除您的 $i 变量,因为这将与您循环中的 $key 值相同。

    $start 变量是您的开始时间,$end 是您的结束时间 $start-$end

    我们检查$output 是否存在,以便我们知道是否在前面放置逗号 - 您不希望第一个数字前面的逗号,但后面的数字需要。

    这是上面脚本的输出:

    1:00-2:00,3:00-4:00
    

    【讨论】:

      猜你喜欢
      • 2015-10-20
      • 1970-01-01
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多