Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
date_parse()在PHP 5.4中导致非法字符串偏移_Php - Fatal编程技术网

date_parse()在PHP 5.4中导致非法字符串偏移

date_parse()在PHP 5.4中导致非法字符串偏移,php,Php,我一直在研究这个问题,但不明白为什么我会收到这个错误。警告引用了以下行:if($i==$break\u date['month']),并且仅在升级到PHP5.4后才会持续 下面是一个非常有用的函数,用于动态生成日期选择器。如有任何见解,将不胜感激 function date_picker($name, $date, $startyear='2005', $endyear='2020') { $break_date = date_parse($date); if($startyear==

我一直在研究这个问题,但不明白为什么我会收到这个错误。警告引用了以下行:
if($i==$break\u date['month'])
,并且仅在升级到PHP5.4后才会持续

下面是一个非常有用的函数,用于动态生成日期选择器。如有任何见解,将不胜感激

function date_picker($name, $date, $startyear='2005', $endyear='2020') {  

$break_date = date_parse($date);


if($startyear==NULL) $startyear = date("Y")-100;
if($endyear==NULL) $endyear=date("Y")+50; 

$months=array('','01 January','02 February','03 March','04 April','05 May',
'06 June','07 July','08 August', '09 September','10 October','11 November','12 December');

// Month dropdown
$html="<select name=\"".$name."_month\" style='width: 22%;'>";
$html.="<option value=''>Month</option>";
for($i=1;$i<=12;$i++)
{
   if ($i==$break_date['month']) 
   { 
     $month_selected = "selected";
    } else {
     $month_selected = "";
   }
   $html.="<option value='$i' $month_selected>$months[$i]</option>";
}
$html.="</select> ";

// Day dropdown
$html.="<select name=\"".$name."_day\" style='width: 22%;'>";
$html.="<option value=''>Day</option>";    
for($i=1;$i<=31;$i++)
{
   if ($i==$break_date['day']) 
   { 
     $day_selected = "selected";
    } else {
     $day_selected = "";
   }    
   $html.="<option value='$i' $day_selected>$i</option>";
}
$html.="</select> ";

// Year dropdown
$html.="<select name=\"".$name."_year\" style='width: 22%;'>";
$html.="<option value=''>Year</option>";
for($i=$startyear;$i<=$endyear;$i++)
{ 
   if ($i==$break_date['year']) 
   { 
     $year_selected = "selected";
    } else {
     $year_selected = "";
   }         
  $html.="<option value='$i' $year_selected>$i</option>";
}
$html.="</select> ";

return $html;
}
函数日期\u选择器($name,$date,$startyear='2005',$endyear='2020'){
$break\u date=date\u parse($date);
如果($startyear==NULL)$startyear=date(“Y”)-100;
如果($endyear==NULL)$endyear=日期(“Y”)+50;
$months=数组(“”,'01一月','02二月','03三月','04四月','05五月',
‘6月6日’、‘7月7日’、‘8月8日’、‘9月9日’、‘10月10日’、‘11月11日’、‘12月12日’;
//月份下拉列表
$html=“”;
$html.=“月”;

对于($i=1;$i您做了什么尝试来修复它?似乎
date\u parse
没有返回带有
month
键的数组。这可能意味着
$date
为空或不可解析。可能自升级以来您还没有在
php.ini
中设置默认时区。您查看过它的返回值吗?谢谢,Dan i将检查php ini