设置字段为空时的数据值


Setting value for data when field is blank

我正在使用simpleXML解析XML文件,以从以下数据属性中获取日期:

<start_time>2012-01-22 09:00:00</start_time>
<stop_time>2012-03-18 15:00:00</stop_time>
使用这个:

echo 'Start Date:'.substr("$events->start_time", 0, 10).'<br />';
echo 'End Date:'.substr("$events->stop_time", 0, 10).'<br />';

我的问题是,在一些条目上,没有给出stop_time值,当解析xml时,它在没有任何东西的情况下提取0000-00-00。简单地说,这意味着start_timestop_time在xml文件中出现时是同一天。

我的问题:如何将start_time设置为stop_time没有给定值的条目的stop_time值?

maybe:

echo 'End Date:'.(isset($events->stop_time) ? substr($events->stop_time, 0, 10) : substr($events->start_time, 0, 10)).'<br />';

如果停止时间为0000-00-00,则可以使用简单的三进制将输出替换为开始时间:

echo 'Start Date:'.substr("$events->start_time", 0, 10).'<br />';
echo 'End Date:'.$events->stop_time == "000-00-00" ? substr("$events->start_time", 0, 10) : substr("$events->stop_time", 0, 10).'<br />';

这样做是因为解析没有为stop_time设置值:

//End Date
if ($enddate = substr("$events->stop_time", 0, 10)) {
    echo '<strong>End Date:</strong>'.substr("$events->stop_time", 0, 10).'<br />';
} else {
    echo '<strong>End Date:</strong>'.substr("$events->start_time", 0, 10).'<br />';
}