elseif 和 else if 完全同效果,elseif 是 PHP 为 else if 专门做到容错版。更准确更严格到写法为后者: else if
<?php
$t=date("H");
if ($t<"10")
{
echo "Have a good morning!";
}
elseif ($t<"20")
{
echo "Have a good day!";
}
else
{
echo "Have a good night!";
}
?>
等同于:
<?php
$t=date("H");
if ($t<"10")
{
echo "Have a good morning!";
}
else if ($t<"20") //此处有空格
{
echo "Have a good day!";
}
else
{
echo "Have a good night!";
}
?>
584PHP 数组
数组排序时发现 sort 与 rsort 排序完毕以后,var_dump 输出时原有 key 值丢失,变为数字索引。
输出如下:
输出如下:
583PHP 数组
foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。有两种语法:
第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。
第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。
582PHP Switch
在 switch 语句中漏写 break, 可能会使你的输出在你意料之外,下面我来和你们仔细讲解 break 的作用:
下面的代码是正确示范,结果将是只会输出:这里是a。
倘若你忘敲了 case 'a',case 'b',case 'c' 后的 break,结果将是将代码中的每一条输出语句都输出。
倘若你只敲了 case 'c' 后的 break, 结果将会是输出包含 case 'c' 之前的所有输出语句。
讲到这里大家应该明白了:原来 switch 语句不遇到 break 将不会自己"拐弯",希望这些将会帮助到才接触 php 的菜鸟们!
581PHP If...Else
如果你觉得最后这两个实例的运行结果不对,那是因为自 PHP5.0 开始,用PHP获取系统时间时,时间比当前时间少 8 个小时。原因是 PHP.ini 中没有设置 timezone 时,PHP 是使用的 UTC 时间,所以在中国时间要少 8 小时。因此你的时间都要 -8,所以代码是没问题的。
解决办法:
1.在PHP.ini文件中修改设置。
这里真是。。。可以设置 Shanghai,Chongqin,Hong_Kong,TaiBei... 等等,可就是没有找到 Beijing,不知道是什么原因。
2.在PHP程序中运行时设置。
注意:用 date_default_timezone_get 获得的时间设置中有一个 1,也不太清楚是杂回事呢。
3.在使用时间时自己多加 8*3600 秒也是行滴。
580PHP If...Else
elseif 和 else if 完全同效果,elseif 是 PHP 为 else if 专门做到容错版。更准确更严格到写法为后者: else if
等同于: