PHP语句

2017-11-08

在js阶段我们学过的语句包括分支语句循环语句,还有赋值语句(略…),在php中也不例外,下面就让我们来看看两者有什么不同吧。

分支语句

  • if(){} else{}/if(){}else if(){}else{}条件语句

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    $name="zhouzhou";
    if($name=="zhouzhou"){
    echo "您的登录身份是zhouzhou";
    }else if($name="zhou"){
    echo "您是vip身份";//elseif(){}可以这样写
    }else{
    if(){}//可以嵌套
    echo "您尚未登录";
    }
    $num=10;
    $num2='10';
    $num3=3.3;
    $num4=1.1;
    //浮点数的运算存在精度问题,不能直接相比较
    if($num4+$num3==4.4){
    echo "1.1+3.3=4.4";
    }else{
    echo "1.1+3.3!=4.4";
    }
    //输出后是后者
    if($num==$num2){
    echo "num==num2";
    }else{
    echo "num!=num2";
    }
    //输出是前者,如果是`===`,是后者,类型不相同
    $res=true;
    if(!$res){
    echo "false";
    }else{
    echo 'true';//结果
    }
    //空字符、null值、"0"、0、未定义变量为false
    //短路运算,或运算只要第一个条件满足后,第二个条件表达式忽略
    $a=10;
    $b=20;
    $name="zhou";
    if($a>10 || $b++>25){
    echo "$name";
    }else{
    echo "--";
    }
    echo $b;//21,如果第一个if中的条件为if($a>=10 || $b++>25),结果就为20
  • 三元运算符

    1
    2
    3
    4
    5
    //exp?val1:val2;
    $a=10;
    $b=12;
    $c=$a>$b?$a:$b;
    echo $c;//$b=12
  • 多分支语句switch

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $day=1;
    switch($day){
    case 1:
    echo "yi";
    break;
    case 2:
    echo "er";
    break;
    default:
    echo "懒得写了";
    }

循环语句

  • for循环

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    for($i=0;$i<10;$i++){
    echo "$i<br>";
    }
    //数组的遍历
    $array=array("one","two","three");
    foreach($array as $key => $val){
    echo "$key => $val <br>";
    }
    //二维数组的遍历
    $array=array(
    array(1,2,3),
    array(4,5,6),
    "one"=>("one","two","three"),
    "two"=>("la","so","re")
    );
    foreach($array as $key => $val){
    foreach($val as $val => $vals){
    echo "$vals <br>";
    }
    }
  • while循环

    1
    2
    3
    4
    5
    $i=0;
    while($i<10){
    echo "$i<br>";
    $i++;
    }
  • do{}while()循环

    1
    2
    3
    4
    5
    6
    7
    8
    9
    //do至少执行一次
    $num=10;
    do{
    echo "$i<br>";
    if($i==$num){
    break;
    }
    $i++;
    }while(1);//死循环变活循环

附送的小练习题(使用数组模拟留言板)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
$good=array();
$good[0]=array("张三","逛街","2017-1-1","去恒隆买衣服");
$good[1]=array("李四","吃饭","2017-4-5","去希尔顿吃饭");
$good[2]=array("王二","旅行","2017-7-4","去象岛的海边散步");
$good[3]=array("张武","绿皮火车","2017-9-3","去云南洱海坐绿皮火车");
?>
<table>
<tr>
<td>留言人</td>
<td>留言标题</td>
<td>留言日期</td>
</tr>
<tr>
<td colspan="3">留言详情</td>
</tr>
//答案如下:🌈🌈🌈
<?php
foreach($good as $key => $val){
?>
<tr>
<td><?=$val[0]?></td>
<td><?=$val[1]?></td>
<td><?=$val[2]?></td>
</tr>
<tr>
<td colspan="3"><?=$val[3]?></td>
</tr>
<?php } ?>
</table>

屏幕快照 2017-11-08 下午9.19.52.png