Php 复制以前的值并将其指定给最新日期

Php 复制以前的值并将其指定给最新日期,php,Php,问题 如果值不为空,我希望在最新日期中显示以前的日期记录。我试过好几件事,但都不管用。下面是代码、实际结果和期望结果 从逻辑上讲,我希望复制过去的日期值并将其指定给最新日期。任何帮助都会很好。提前谢谢 代码 $date = date('m/d/Y',time()+( 1 - date('w'))*24*3600); $ts = strtotime($date); $year1 = date('o', $ts); $week = date('W', $ts); $date_

问题

如果值不为空,我希望在最新日期中显示以前的日期记录。我试过好几件事,但都不管用。下面是代码、实际结果和期望结果

从逻辑上讲,我希望复制过去的日期值并将其指定给最新日期。任何帮助都会很好。提前谢谢

代码

$date = date('m/d/Y',time()+( 1 - date('w'))*24*3600);
$ts = strtotime($date);            
$year1 = date('o', $ts);
$week = date('W', $ts);
$date_time_array1 = '';
for($i = 1; $i <= 7; $i++) {
   $ts = strtotime($year1.'W'.$week.$i);
   $date_time_array1[] = date('d/m/Y', $ts);
}//end for week dates

$gadget_data_type_date1 = array();
$empty = true;
for($i=0;$i<count($date_time_array1);$i++){
  $flag = 0;
  for($j=0;$j<count($date_time_array);$j++){
  if($date_time_array1[$i] == $date_time_array[$j]){
    $gadget_data_type_date1[] = $date_time_array1[$i];
    $gadget_data_type_value1[] = $gadget_data_type_value[$j];
    $flag =1;
  }
}
if(!$flag){
  $gadget_data_type_date1[] = $date_time_array1[$i];
}

 $date_time = $gadget_data_type_date1[$i];
    $t = explode("/",$date_time);
    if (mktime(0,0,0,$t[1],$t[0],$t[2]) >= $game_starts_on) {
      $date1 = date('m/d/Y',strtotime(str_replace("/",".",".$date_time.")));
      $dateOneMonthSubtracted = date('n/j/Y', strtotime($date1));
      $date_time_parse = "'".$dateOneMonthSubtracted.' UTC'."'";

      if($gadget_data_type_value1[$i] != 'null'){
        $gadget_data_type_value_value2[$i] = $gadget_data_type_value1[$i];
      }else{
        $gadget_data_type_value_value2[$i] = 'null';
      }//end if check null

      if ($gadget_data_type_value_value2[$i] != 'null' && $gadget_data_type_value_value2[$i] != '') {
        $empty = false;
      }//end if value is blank

    $date_time_array2[] = "[Date.parse(".$date_time_parse."), ".$gadget_data_type_value_value2[$i]." ]";

    }//end if current date is greater than start date
期望的结果

[0] => [Date.parse('7/22/2013 UTC'), null ], i=>0
[1] => [Date.parse('7/23/2013 UTC'), 6.8717882122446 ], i=>1
[2] => [Date.parse('7/24/2013 UTC'), 0.3531183025553 ], i=>2
[3] => [Date.parse('7/24/2013 UTC'), 0.070564096031649 ], i=>3
[4] => [Date.parse('7/25/2013 UTC'), null ], i=>4
[5] => [Date.parse('7/26/2013 UTC'), 4.374864096031649 ], i=>5
[6] => [Date.parse('7/26/2013 UTC'), 1.263764096031649 ], i=>6
[7] => [Date.parse('7/27/2013 UTC'), null ], i=>7
[0] => [Date.parse('7/22/2013 UTC'), null ], i=>0
[1] => [Date.parse('7/23/2013 UTC'), 6.8717882122446 ], i=>1
[2] => [Date.parse('7/24/2013 UTC'), 6.8717882122446 ], i=>2
[3] => [Date.parse('7/24/2013 UTC'), 0.3531183025553 ], i=>3
[4] => [Date.parse('7/24/2013 UTC'), 0.070564096031649 ], i=>4
[5] => [Date.parse('7/25/2013 UTC'), null ], i=>5
[6] => [Date.parse('7/26/2013 UTC'), 6.8717882122446 ], i=>6
[7] => [Date.parse('7/26/2013 UTC'), 0.3531183025553 ], i=>7
[8] => [Date.parse('7/26/2013 UTC'), 0.070564096031649 ], i=>8
[9] => [Date.parse('7/26/2013 UTC'), 4.374864096031649 ], i=>9
[10] => [Date.parse('7/26/2013 UTC'), 1.263764096031649 ], i=>10
[11] => [Date.parse('7/27/2013 UTC'), null ], i=>11

NULL
应不带引号:

if ($gadget_data_type_value1[$i] != NULL)
如果将
NULL
括在引号
'NULL'
中,它将成为一个字符串


如果只是检查值是否为空,可以使用
empty()
函数

if (empty($gadget_data_type_value1[$i]))

您可以在for循环中使用下面的内容

 <?php
 $len = 1; // the amount of your list;
 $prev_list = array();
 for ($i = 0; $i < $len; $i++)
 {
     $date_time_parse = ''; // should like: '7/22/2013 UTC'
     $value = $gadget_data_type_value_value2[$i];

     // if value is not NULL
     if ($value != null && $value != '')
     {
         // all previous value before this date
         foreach ($prev_list as $pre_value)
         {
             $date_time_array2[] = "[Date.parse(".$date_time_parse."), " . $pre_value . " ]";
         }
         // add value of this date to the $prev_list
         $prev_list[] = $value;
     }
     else
     {
         $value = 'null';
     }
     // add the date's value
     $date_time_array2[] = "[Date.parse(".$date_time_parse."), " . $value . " ]";
 }

你会粘贴更多的代码吗?
$gadget\u data\u type\u date1的示例
?@srain我添加了更多代码,请再次检查!好的,让我看看。什么是
$game\u start\u on
?它是游戏开始的日期。。。例如:2013年7月15日,为了比较,我将其转换为strotime。谢谢,但现在我关心的是如何将该值复制到其他日期。NULL目前工作正常。如果你能建议我复制过去的价值观,那就太好了。干杯!