$signs = array(
array( "20" => "水瓶座" ),
array( "19" => "双鱼座" ),
array( "21" => "白羊座" ),
array( "20" => "金牛座" ),
array( "21" => "双子座" ),
array( "22" => "巨蟹座" ),
array( "23" => "狮子座" ),
array( "23" => "处女座" ),
array( "23" => "天秤座" ),
array( "24" => "天蝎座" ),
array( "22" => "射手座" ),
array( "22" => "摩羯座" )
);
list( $sign_start, $sign_name ) = each( $signs[( integer )$month - 1] );
if ( $day < $sign_start )
{
list( $sign_start, $sign_name ) = each( &$signs[$month - 2 < 0 ? ( $month = 11 ) : ( $month -= 2 )] );
}
return $sign_name;
上面代码运行时报错:
Warning: Call-time pass-by-reference has been deprecated in E:\PHPnow-1.5.6\htdocs\source\core\util\class.lunar.php on line 2277和2274
2274行代码是list( $sign_start, $sign_name ) = each( $signs[( integer )$month - 1] );
2277行代码是list( $sign_start, $sign_name ) = each( &$signs[$month - 2 < 0 ? ( $month = 11 ) : ( $month -= 2 )] );
}
------解决方案--------------------
ist( $sign_start, $sign_name ) = each( $signs[$month - 2 < 0 ? ( $month = 11 ) : ( $month -= 2 )] );