如何在单个字符串中设置多个开始和结束时间

时间:2018-03-05 09:50:28

标签: php mysql arrays

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

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

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++;
}

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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