我正在使用PHP脚本在网站上显示从MySQL数据库以某种方式格式化的信息。我希望数据库中的日期值(格式为YYYY-MM-DD)显示为月YYYY。我使用的显示个月的话也许,没有高效的,足以代码如下:如何使用PHP foreach循环显示某些值?
foreach($monthstart as $monthnext)
{
preg_match("/[[0-9][0-9]]*/", $monthnext, $startmonthfull);
}
echo "<b>Duration: </b>";
foreach($startmonthfull as $which)
{
if($which == 01)
{
echo "January ";
}
elseif($which == 02)
{
echo "February ";
}
elseif($which == 03)
{
echo "March ";
}
elseif($which == 04)
{
echo "April ";
}
elseif($which == 05)
{
echo "May ";
}
elseif($which == 06)
{
echo "June ";
}
elseif($which == 07)
{
echo "July ";
}
elseif($which == 08)
{
echo "August ";
}
elseif($which == 09)
{
echo "September ";
}
elseif($which == 10)
{
echo "October ";
}
elseif($which == 11)
{
echo "November ";
}
elseif($which == 12)
{
echo "December ";
}
}
foreach($year as $printyear)
{
echo $printyear;
}
这个代码显示年份和月份的第一部分。这个页面完美显示,除非该月份是八月或九月。如果这个月份是八月或九月,那么没有任何东西会打印出来,所以不是“2005年八月”),你会得到“2005”。
八月和九月elseif语句的格式(从我可以告诉)完全相同,因此我不知道为什么这些值不打印。如果我只是要求它打印$ which值,它会打印为08或09,并且这些值在数据库中看起来是正确的。我真的希望有一些简单的东西,我忽略了有人会很快指出,因为在这个问题上,我一直在撞墙。
(我不知道这有什么差别,但我正在使用的Joomla的JUMI插件,它允许用户在一个Joomla页面添加自定义代码来开发网站的这一部分。)
编辑:我刚刚从08和09删除0,现在他们都显示正常。所以我猜现在的问题是,为什么这样可以解决问题,当正在检查的变量值是08和09?
此外,抱歉在发布问题后不久就解决问题。
请仔细阅读本:http://en.wikipedia.org/wiki/Loop-switch_sequence – Ikke 2009-09-16 13:36:17