我认为您进行测试为时已晚,直接在 $dateValue 上进行测试要简单得多。此外,您可以通过使用list函数来简化代码:-
$dateValue = '0000-00-0';
if($dateValue == '0000-00-00'){
$values = array('Year', 'Month', 'Day');
} else {
$values = explode('-', $dateValue);
}
list($selected_year, $selected_month, $selected_day) = $values;
var_dump($selected_year);
var_dump($selected_month);
var_dump($selected_day);
给出以下输出:-
string 'Year' (length=4)
string 'Month' (length=5)
string 'Day' (length=3)
将第一行更改为:-
$dateValue = '2012-11-3';
给出:-
string '2012' (length=4)
string '11' (length=2)
string '3' (length=1)
就个人而言,我会将这一切隐藏在一个函数中以提高可读性:-
function getValues($dateValue = '0000-00-00'){
if($dateValue == '0000-00-00'){
$values = array('Year', 'Month', 'Day');
} else {
$values = explode('-', $dateValue);
}
return $values;
}
然后像这样使用它:-
list($selected_year, $selected_month, $selected_day) = getValues('2012-11-03');
var_dump($selected_year);
var_dump($selected_month);
var_dump($selected_day);