首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php数组中的重复值

php数组中的重复值
EN

Stack Overflow用户
提问于 2015-09-25 01:18:09
回答 3查看 157关注 0票数 1

我想做一个计划,每4天重复一次这个值.下面的php脚本循环的日期从1-9月30日至9月30日.我想每4天重复这个值一次.例如,我的值是(A,B,C,D),我想重复每一个4day...thats平均值

代码语言:javascript
复制
1/9 = A 
2/9 = B 
3/9 = C 
4/9 = D 
5/9 = A 
6/9 = B 
7/9 = C 
8/9 = D 

.直到30/9然后停止..。

代码语言:javascript
复制
<?php  
// Set timezone
date_default_timezone_set('UTC');

// Start date
$start_date = '2015-09-01';
// End date
$end_date = '2015-09-30';

$value = "A";

while (strtotime($start_date) <= strtotime($end_date)) {
echo "$start_date <br>";
$start_date = date ("Y-m-d", strtotime("+1 day", strtotime($start_date)));

}
 ?>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-25 01:25:12

像这样的东西呢?

代码语言:javascript
复制
$values = ['A', 'B', 'C', 'D'];

// Start date
$start_date = '2015-09-01';
// End date
$end_date = '2015-09-30';

$current_date = $start_date;
$index = 0;
while (strtotime($current_date) <= strtotime($end_date)) {
    $i = $index % count($values);
    echo "$current_date: $values[$i]\n";
    $current_date = date("Y-m-d", strtotime("+1 day", strtotime($current_date)));
    $index++;
}

%是一个模算子,它返回除法的剩余部分。$a % $b返回$a的剩余部分除以$b。例如6 % 4是2,7 % 4是3,依此类推。

票数 1
EN

Stack Overflow用户

发布于 2015-09-25 01:31:48

另一个版本是:

代码语言:javascript
复制
<?php  
// Set timezone
date_default_timezone_set('UTC');

// Start date
$start_date = strtotime('2015-09-01');
// End date
$end_date = strtotime('2015-09-30');

$value = "A";

for ($date = $start_date; $date <= $end_date; 
     $date = strtotime("+1 day", $date)) {
  $date_str = date("Y-m-d", $date);
  echo "$date_str: $value<br>\n";
  $value++;
  if ($value > "D") {
    $value = "A";
  }
}
?>

注意:虽然变量有日期后缀,但它们包含UNIX时间值,而不是某种日期对象。

票数 1
EN

Stack Overflow用户

发布于 2015-09-25 01:26:40

代码语言:javascript
复制
<?php
// Set timezone
date_default_timezone_set('UTC');

// Start date
$start_date = '2015-09-01';
// End date
$end_date   = '2015-09-30';

$value = array(
    "A",
    "B",
    "C",
    "D"
);
$i     = 0;
while (strtotime($start_date) <= strtotime($end_date)) {
    echo "$start_date = " . $value[$i] . " <br>";
    if ($i == count($value) - 1) {
        $i = 0;
    } else {
        $i++;
    }
    $start_date = date("Y-m-d", strtotime("+1 day", strtotime($start_date)));

}
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32773309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档