1

这是一个相对简单的问题,但我希望能深入了解发生此错误的原因。贝娄是引发错误的代码:

    foreach($courseArray[0] as $value)
    {
        list( $courseQuarter,$coursePrefix ) = explode( "-", $value );
        if( $courseQuarter == get_current_yearquarter()) 
        {
                array_push( $return, $value );
        }
    }

该错误具体来自该list()行。

这是var_export()一个$courseArray

array ( 0 => array( 
          'count' => 15, 
          0 => '20103-0610-442-01', 
          1 => '20103-0508-446-01', 
          2 => '20103-0501-406-01', 
          3 => '20104-0660-499-01', 
          4 => '20111-0307-782-70', 
          5 => '20111-0610-870-01', 
          6 => '20111-0621-504-01', 
          7 => '20112-0621-513-01', 
          8 => '20112-0303-762-90', 
          9 => '20112-0101-794-71', 
          10 => '20112-0610-710-90', 
          11 => '20113-0307-770-70', 
          12 => '20113-0610-820-01', 
          13 => '20113-0617-631-01', 
          14 => '2121-0106-744-01', 
      ), 
);

感谢您在修复我的代码时提供的任何帮助 :) 我想我可以解释一下偏移量以及它们与数组的关系。

4

1 回答 1

3

它将遍历'count'元素,其中没有'-'。

foreach($courseArray[0] as $key => $value)
{
    if ($key == 'count') {continue;} // <- skip the 'count' key
    list( $courseQuarter,$coursePrefix ) = explode( "-", $value );
    if( $courseQuarter == get_current_yearquarter()) 
    {
            array_push( $return, $value );
    }
}
于 2012-08-30T17:58:04.713 回答