【发布时间】:2013-11-17 02:08:56
【问题描述】:
我有一个包含一年中月份的数组,其中包含一个 switch 语句和一个 while 循环,但它不会显示数组的第一个元素,即一月。有人可以帮我解决这个问题吗?
$calendar = array (January, February, March, April, May, June, July, August, September, October, November, December);
while($e < sizeof($calendar)) {
$k++;
$days = 30;
$days2 = 31;
switch ($calendar[$e]) {
case $calendar[0]:
echo "Month ",$k,": $calendar[$e] has $days days <br>";
break;
case $calendar[1]:
echo "Month $k: $calendar[$e] has 28 or 29 days <br>";
break;
case $calendar[2]:
echo "Month $k: $calendar[$e] has $days2 days <br>";
break;
case $calendar[3]:
echo "Month $k: $calendar[$e] has $days days <br>";
break;
case $calendar[4]:
echo "Month $k: $calendar[$e] has $days days <br>";
break;
case $calendar[5]:
echo "Month $k: $calendar[$e] has $days days <br>";
break;
case $calendar[6]:
echo "Month $k: $calendar[$e] has $days2 days <br>";
break;
case $calendar[7]:
echo "Month $k: $calendar[$e] has $days days <br>";
break;
case $calendar[8]:
echo "Month $k: $calendar[$e] has $days days <br>";
break;
case $calendar[9]:
echo "Month $k: $calendar[$e] has $days2 days <br>";
break;
case $calendar[10]:
echo "Month $k: $calendar[$e] has $days days <br>";
break;
case $calendar[11]:
echo "Month $k: $calendar[$e] has $days2 days <br>";
break;
}
$e++;
}
【问题讨论】:
-
1.
$e在使用之前没有定义。 2.您的数组值不在引号中。 3. 你真的应该把 error_reporting 转为报告通知,因为这些都是不好的编程习惯 -
哦,这解决了我的问题。在循环之前我做了 $e = 0;然后它显示一月。如果您回答作为答案,我会选择您的。谢谢
-
我做了一个回答。在验证它是您的问题的原因之前,我没有机会尝试它。
标签: php arrays switch-statement