第三章 操作符与控制结构

一.字符串插入

双引号与单引号的区别:

1.双引号的使用:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<?php

//双引号可以解析变量和转义字符

$username = "jack";

echo "his name is $username!";

echo "<br/>";



$username = "小东";

//如果是英文的感叹号会正常解析变量

echo "他的名字是$username!";//他的名字是小东!

echo "<br/>";

//如果是中文的感叹号则会解析不出来

echo "他的名字是$username!";//他的名字是

echo "<br/>";



//转义字符在这里虽然被解析出来了,但是\n是在源代码里换行

//浏览器显示只是一个字符的位置

echo "他的名字是$username,\n他今年20岁了";//他的名字是小东, 他今年20岁了

echo "<br/>";



//为了避免出现错误,推荐使用字符串连接的方式

echo "他的名字是".$username.",他今年20岁了";//他的名字是小东,他今年20岁了

?>

2.单引号的使用:


<?php

//单引号只是输出字符串字面值,

//不会解析变量和转义字符。

//也不会进行语法加亮提示

$username = 'anllin';

echo 'his name is $username,\n his age is 20.';

//output

//his name is $username,\n his age is 20.

?>

部分常用的转义字符

转义序列 描述
\n 换行符
\r 回车
\t 水平制表图
\ 反斜杠
$ 美元符
\” 双引号

二.操作符

<?php

    //算术操作符

    $a = 5;

    $b = 3;

    echo $a + $b;

    echo '<br/>';

    echo $a - $b;

    echo '<br/>';

    echo $a * $b;

    echo '<br/>';

    echo $a / $b;

    echo '<br/>';

    echo $a % $b;

?>

8
2
15
1.66666666667
2





<?php

    //复合赋值操作符

    $a = 5;

    $b = 3;

    echo $a += $b;

    echo '<br/>';

    echo $a -= $b;

    echo '<br/>';

    echo $a *= $b;

    echo '<br/>';

    echo $a /= $b;

    echo '<br/>';

    echo $a %= $b;

    echo '<br/>';

    echo $a .= $b;

?>

8
5
15
5
2
23





<?php

    //递增递减运算符

    $a = 5;

    echo ++$a;

    echo '<br/>';

    echo $a++;

    echo '<br/>';

    echo --$a;

    echo '<br/>';

    echo $a--;

?>

6
6
6
6









<?php

$a = 5;

$b = 3;

$c = 5;

$d = '5';



echo $a == $c;

echo '<br/>';

echo $a === $c;

echo '<br/>';

echo $a == $d;

echo '<br/>';

echo $a != $b;

echo '<br/>';

echo $a !== $d;

echo '<br/>';

echo $a != $b;

echo '<br/>';

echo $a > $b;

echo '<br/>';

echo $b < $c;

echo '<br/>';

echo $a >= $c;

echo '<br/>';

echo $a <= $c;

?>

1
1
1
1
1
1
1
1
1
1





<?php



$a = false;

echo ! $a;

echo '<br/>';



$b = 5;

$c = 3;

echo $b > 0 && $c > 0;

echo '<br/>';

echo $b > 0 and $c > 0;

echo '<br/>';



echo $b != 0 || $c != 0;

echo '<br/>';

echo $b != 0 or $c != 0;

echo '<br/>';



?>

1
1
1
1
1

运算符”and”和”or”比&&和||的优先级要低

三元操作符

<?php

$a = 100;

echo $a > 60 ? 'success':'fail';

?>

success

错误抑制操作符


<?php

echo @(100/0);

?>

三.控制结构

If条件判断语句

<meta http-equiv="content-type" content="text/html;charset=utf-8"/>

<?php



$a = 10;

if ($a > 0)

{

    echo '整数大于零';

}

echo '<br/>';



if ($a > 0)

{

    echo '整数大于零';

}

else if($a < 0)

{

    echo '整数小于零';

}

else

{

    echo '整数等于零';

}



?>

Switch语句

<meta http-equiv="content-type" content="text/html;charset=utf-8"/>

<?php

$role = 'admin';



switch ($role)

{

    case 'admin' :

       echo '管理员';

       break;

    case 'user' :

       echo '普通用户';

       break;

    case 'guest' :

       echo '游客';

       break;

    default :

       echo '游客';

       break;

}

?>

While循环语句

<?php

$a = 10;

while ( $a > 0 )

{

    echo $a --;

    echo '<br>';

}

?>

Do while 循环语句

<?php

$a = 10;

do

{

    echo $a --;

    echo '<br/>';

}

while ( $a > 0 )

?>

For循环语句


<?php

for($a = 0; $a < 10; $a++)

{

    echo $a;

    echo '<br/>';

}

?>

Break语句

<meta http-equiv="content-type" content="text/html;charset=utf-8"/>

<?php

for($a = 0; $a < 10; $a++)

{

    echo $a;

    echo '<br/>';

    if($a ==5)

    {

       break;//终止循环,但执行循环后面的语句

    }

}



echo '循环结束';

?>

Exit语句

<?php

for($a = 0; $a < 10; $a++)

{

    echo $a;

    echo '<br/>';

    if($a ==5)

    {

       exit;//直接退出,循环后面的语句不执行

    }

}



echo '循环结束';

?>

Continue语句

<?php

for($a = 0; $a < 10; $a++)

{

    echo $a;

    echo '<br/>';

    if($a ==5)

    {

       continue;//结束本次循环,继续下次循环,循环后面的语句依然执行

    }

}



echo '循环结束';

?>