1.选择语句:
if … elseif 等价于 if … else if 。但下面的风格不能等价。
if … endif 语句
PHP支持另外一种风格的语句。这种风格的语句用符号” : ” 来代替左花括号” { “,用” endif ” 来代替右花括号” } “。
if($today == 0):
echo "今天是礼拜天";
else:
echo "今天不是礼拜天";
endif;
在这种风格中,elseif就不能分开.
switch语句中也有另外一种风格的写法。这种风格的语句用符号” : “来代替左花括号” { “。用” endswitch ” 来代替右花括号” } “。
2.循环遍历语句:
foreach(数组名 as 元素名){ ... }
foreach(数组名 as 键名=>元素名){ ... }
3.跳转语句:
break 后面可以接一个数字,表示跳出第几重循环。
for($i=1;$i<=10;++$i) //外层循环
{
for($j=1;$j<=8;++$j){ //内层循环
if($j==4) break 1; //1跳出内层循环,2跳出外层循环
echo $j . ' ';
}
echo "<br/>";
}
continue后面同样可以接一个数字,表示跳出第几重循环后面尚未执行的语句。
for($num=2;$num<=100;++$num)
{
$i = 2;
while($i<=$num - 1){
if($num % $i == 0){
continue 2; //跳出while 循环进入下一轮的for循环
}
}
++$i;
}
echo $num . '';
4.PHP数组的遍历
1.使用list()遍历数组
list()并不是真正的函数,而是同array()一样,是一种语言结构。list()只能用于下标从0开始的索引数组。
void list(mixed $var,mixed $...)
参数中的$var韦被数组赋值的变量的名称。
$myarray = array('Mo',20,"沫沫");
list($nickname,$age,$name) = $myarray;
echo $nickname . " " . $age . " " . $name;
2.使用 each() 遍历数组
each()用于返回数组中当前的键/值对,并将数组指针向前移动一步。
array each(array &$var);
键/值对被返回4个单元的数组,键名为0,1,key 和value。单元0和key包含有数组的键名,1和value包含有数组元素的值。如果数组指针超越了数组的末端,则each()返回false。
$myarray = array('Mo',20,'沫沫');
$array = each($myarray);
echo '<p>';
var_dump($array);
$array = each($myarray);
echo '<p>';
var_dump($array);
$array = each($myarray);
echo '<p>';
var_dump($array);
混合使用list()与each()遍历数组
5.数组操作
array_merge(array 数组1,array 数组2 ...)
函数返回合并后的数组。如果待合并的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。如果是相同的数字键名,则后面的值不会覆盖原来的值,而是附加到该元素后面。