php - 为什么某些值没有使用 PHP foreach 循环显示?

标签 php mysql joomla

我在一个网站上工作,该网站使用 PHP 脚本来显示 MySQL 数据库中以特定方式格式化的信息。我希望数据库中的日期值(格式为 YYYY-MM-DD)显示为月 YYYY。我用来显示月份的可能不够有效的代码如下:

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;
}

此代码显示第一部分的月份和年份。这在网页上完美显示,除非月份是八月或九月。如果月份是 8 月或 9 月,则不会为该部分打印任何内容,因此您将得到“2005 年”而不是“2005 年 8 月”)。

8 月和 9 月的 elseif 语句的格式(据我所知)与其他语句完全相同,所以我不知道为什么不打印这些值。如果我只是要求它打印 $which 值,它会打印为 08 或 09,并且这些值在数据库中看起来是正确的。我真的希望有一些简单的事情我忽略了,有人会很快指出,因为我在这个问题上已经用头撞墙了很长一段时间。

(我不确定它是否有任何区别,但我在 Joomla 中使用 Jumi 插件,它允许用户在 Joomla 页面中添加自定义代码以开发网站的这一部分。)

编辑:我刚刚从 08 和 09 中删除了 0,现在它们都可以正确显示。所以我想 现在的问题是,当正在检查的变量中的值为 08 和 09 时,为什么这会解决问题?

另外,很抱歉在发布问题后这么快就解决了这个问题。

最佳答案

您正在使用 Joomla! 1.5,对吧?为什么不让 Joomla!做那个工作:

if (!defined('MY_DATE_FORMAT'))
   define('MY_DATE_FORMAT', '%B %Y');
jimport('joomla.utilities.date');

$mysql_date = '2009-08-01';

$jdate = new JDate($mysql_date);
echo $jdate->toFormat(JText::_(MY_DATE_FORMAT));

附带的好处是,如果您选择翻译您的网站,他甚至会将月份翻译成正确/使用的语言。

关于php - 为什么某些值没有使用 PHP foreach 循环显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1432980/

相关文章:

Joomla 插件安装文件

php - 在 PHP 中格式化 MySQL 日期

php - 如何比较同一天的多个日程和出勤情况

mysql - 如何锁定单行

MySQL INNER JOIN 带有子查询和最大日期的空行

php - 从特定 IP 地址访问时无法使用 Joomla 管理控制台

php - session_start() 失败 : Permission denied (13)

php - 连接表以检索数据

mysql - 如何在 12.04 LTS 上安装 mtop?

joomla - Joomla 1.5 Joomla 1.6 和 joomla 1.7 的区别?