未定义的偏移量:php数组中的0

Web*_*bln 0 php arrays object

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     
}
Run Code Online (Sandbox Code Playgroud)

第22,23,24行的错误说明:未定义的偏移量:0

有任何想法来解决这个问题..

Gol*_*rol 7

if应读

if (count($entry_array) > 0)
Run Code Online (Sandbox Code Playgroud)

在您的代码中,您正在评估$entry_array > 0,它将返回一个布尔值.然后你得到的count那个值,如果参数不是数组,通常会导致1该值.

当评估1为bool(对于if)时,它的计算结果为true,因此if即使数组为空,最终也会执行even 的正文.

所以它不能保证工作,因为也许你的数组没有索引0,但可能这是原因,所以我先尝试一下.