if ( count( $entry_array>0 ) )
{
$GLOBALS[ 'year' ] = substr($entry_array[0], 5, 2); //line 22
$GLOBALS[ 'month' ] = substr($entry_array[0], 7, 2); //line 23
$GLOBALS[ 'day' ] = substr($entry_array[0], 9, 2); //line 24
}
第22,23,24行的错误说明:未定义的偏移:0
任何解决此问题的想法......
答案 0 :(得分:7)
if
应阅读
if (count($entry_array) > 0)
在您的代码中,您正在评估$entry_array > 0
,它将返回一个布尔值。然后,您将获得该值的count
,always usually results in 1
if the argument is not an array。
当将1
评估为bool(对于if)时,它的计算结果为true,因此即使数组为空,最终也会执行if
的主体。
所以它不能保证工作,因为你的数组可能没有索引0
,但可能这是原因,所以我先试试这个。
答案 1 :(得分:0)
if (count( $entry_array) > 0) {
//line 22 $GLOBALS[ 'year' ] = substr($entry_array[0], 5, 2);
//line 23 $GLOBALS[ 'month' ] = substr($entry_array[0], 7, 2);
//line 24 $GLOBALS[ 'day' ] = substr($entry_array[0], 9, 2); }
if块没有适当的缩进。
答案 2 :(得分:0)
if(count($entry_array)>0 && isset($entry_array[0]))
{
//your code
}
答案 3 :(得分:0)
将其更改为类似的内容,
if (count($entry_array)>0) {
....
}
或
if (is_array($entry_array)&&count($entry_array)>0&&isset($entry_array[0])) {
...
}