运算符
PHP 算数运算符
运算符 | 名称 | 例子 | 结果 |
+ | 加法 | $x + $y | $x 与 $y 求和 |
- | 减法 | $x - $y | $x 与 $y 的差数 |
* | 乘法 | $x * $y | $x 与 $y 的乘积 |
/ | 除法 | $x / $y | $x 与 $y 的商数 |
% | 取模 | $x % $y | $x 除 $y 的余数 |
实例:
$x=17;
$y=8;
echo($x+$y);
echo"<br>";
echo($x-$y);
echo"<br>";
echo($y*$y);
echo"<br>";
echo($x/$y);
echo"<br>";
echo($x%$y);
echo"<br>";
PHP 赋值运算符
PHP 赋值运算符用于向变量写值。
PHP 中基础的赋值运算符是 "="。这意味着右侧赋值表达式会为左侧运算数设置值。
赋值 | 等同于 | 描述 |
x = y | x = y | 右侧表达式为左侧运算数设置值。 |
x += y | x = x + y | 加 |
x -= y | x = x - y | 减 |
x *= y | x = x * y | 乘 |
x /= y | x = x / y | 除 |
x %= y | x = x % y | 模数 |
下例展示了使用不同赋值运算符的不同结果:
$x=17;
echo$x;
echo"<br>";
$y=17;
$y+=8;
echo$y;
echo"<br>";
$i=17;
$i-=8;
echo$i;
echo"<br>";
$q=17;
$q*=8;
echo$q;
echo"<br>";
$w=17;
$w/=8;
echo$w;
echo"<br>";
$e=17;
$e%=8;
echo$e;
echo"<br>";
PHP 字符串运算符
运算符 | 名称 | 例子 | 结果 |
. | 串接 | $txt1 = "Hello" $txt2 = $txt1 . " world!" | 现在 $txt2 包含 "Hello world!" |
.= | 串接赋值 | $txt1 = "Hello" $txt1 .= " world!" | 现在 $txt1 包含 "Hello world!" |
下例展示了使用字符串运算符的结果:
$a="hallo";
$b=$a."world";
echo$b;
echo"<br>";
$x="hallo";
$x.="world";
echo$x;
PHP 递增/递减运算符
运算符 | 名称 | 描述 |
++$x | 前递增 | $x 加一递增,然后返回 $x |
$x++ | 后递增 | 返回 $x,然后 $x 加一递增 |
--$x | 前递减 | $x 减一递减,然后返回 $x |
$x-- | 后递减 | 返回 $x,然后 $x 减一递减 |
下例展示了使用不同递增/递减运算符的不同结果:
$x=17;
echo++$x;
echo"<br>";
$y=17;
echo$y++;
echo"<br>";
$q=17;
echo--$q;
echo"<br>";
$w=17;
echo$w--;
echo"<br>";
PHP 比较运算符
PHP 比较运算符用于比较两个值(数字或字符串):
运算符 | 名称 | 例子 | 结果 |
== | 等于 | $x == $y | 如果 $x 等于 $y,则返回 true。 |
=== | 全等(完全相同) | $x === $y | 如果 $x 等于 $y,且它们类型相同,则返回 true。 |
!= | 不等于 | $x != $y | 如果 $x 不等于 $y,则返回 true。 |
<> | 不等于 | $x <> $y | 如果 $x 不等于 $y,则返回 true。 |
!== | 不全等(完全不同) | $x !== $y | 如果 $x 不等于 $y,或它们类型不相同,则返回 true。 |
> | 大于 | $x > $y | 如果 $x 大于 $y,则返回 true。 |
< | 小于 | $x < $y | 如果 $x 小于 $y,则返回 true。 |
>= | 大于或等于 | $x >= $y | 如果 $x 大于或者等于 $y,则返回 true. |
<= | 小于或等于 | $x <= $y | 如果 $x 小于或者等于 $y,则返回 true。 |
下例展示了使用某些比较运算符的不同结果:
$x=17;
$y="17";
var_dump($x==$y);
echo"<br>";
var_dump($x===$y);
echo"<br>";
var_dump($x!=$y);
echo"<br>";
var_dump($x<>$y);
echo"<br>";
var_dump($x!==$y);
echo"<br>";
$q=17;
$w=5;
var_dump($q<$w);
echo"<br>";
var_dump($q>$w);
结果:
t\f\f\f\t\f\t
PHP 逻辑运算符
运算符 | 名称 | 例子 | 结果 |
and | 与 | $x and $y | 如果 $x 和 $y 都为 true,则返回 true。 |
or | 或 | $x or $y | 如果 $x 和 $y 至少有一个为 true,则返回 true。 |
xor | 异或 | $x xor $y | 如果 $x 和 $y 有且仅有一个为 true,则返回 true。 |
&& | 与 | $x && $y | 如果 $x 和 $y 都为 true,则返回 true。 |
|| | 或 | $x || $y | 如果 $x 和 $y 至少有一个为 true,则返回 true。 |
! | 非 | !$x | 如果 $x 不为 true,则返回 true。 |
PHP 数组运算符
PHP 数组运算符用于比较数组:
运算符 | 名称 | 例子 | 结果 |
+ | 联合 | $x + $y | $x 和 $y 的联合(但不覆盖重复的键) |
== | 相等 | $x == $y | 如果 $x 和 $y 拥有相同的键/值对,则返回 true。 |
=== | 全等 | $x === $y | 如果 $x 和 $y 拥有相同的键/值对,且顺序相同类型相同,则返回 true。 |
!= | 不相等 | $x != $y | 如果 $x 不等于 $y,则返回 true。 |
<> | 不相等 | $x <> $y | 如果 $x 不等于 $y,则返回 true。 |
!== | 不全等 | $x !== $y | 如果 $x 与 $y 完全不同,则返回 true。 |
下例展示了使用不同数组运算符的不同结果:
$x=array("a"=>"apple","b"=>"banana");
$y=array("c"=>"orange","d"=>"peach");
$z=$x+$y;//x与y的联合
var_dump($z);
var_dump($x==$y);
var_dump($x===$y);
var_dump($x!=$y);
var_dump($x<>$y);
var_dump($x!==$y);
输出结果:
D:\PHP\project\test\index.php:372:
array (size=4)
'a' => string 'apple' (length=5)
'b' => string 'banana' (length=6)
'c' => string 'orange' (length=6)
'd' => string 'peach' (length=5)
D:\PHP\project\test\index.php:373:boolean false
D:\PHP\project\test\index.php:374:boolean false
D:\PHP\project\test\index.php:375:boolean true
D:\PHP\project\test\index.php:376:boolean true
D:\PHP\project\test\index.php:377:boolean true
PHP 条件语句
在您编写代码时,经常会希望为不同的决定执行不同的动作。您可以在代码中使用条件语句来实现这一点。
在 PHP 中,我们可以使用以下条件语句:
- if 语句 - 如果指定条件为真,则执行代码
- if...else 语句 - 如果条件为 true,则执行代码;如果条件为 false,则执行另一端代码
- if...elseif....else 语句 - 根据两个以上的条件执行不同的代码块
- switch 语句 - 选择多个代码块之一来执行
PHP - if 语句
if 语句用于在指定条件为 true 时执行代码。
语法
if (条件) {
当条件为 true 时执行的代码;
}
实例:
$t=date("H");//H涉及高级教程
if($t<"20"){
echo"haveniceday";
输出结果:
have nice day
PHP - if...else 语句
if....else 语句在条件为 true 时执行代码,在条件为 false 时执行另一段代码。
if (条件) { 条件为 true 时执行的代码; } else { 条件为 false 时执行的代码; }
实例:
$t=date("H");
if($t<"20"){
echo"haveniceday";
}else{
echo"havegoodnight";
}
PHP - if...elseif....else 语句
语法
if (条件) {
条件为 true 时执行的代码;
} elseif (condition) {
条件为 true 时执行的代码;
} else {
条件为 false 时执行的代码;
}
实例:
$t=date("H");
if($t<"10"){
echo"greeting";
}elseif($t<"20"){
echo"haveniceday";
}else{
echo"goodnight";
}
Switch 语句
如果有选择地执行若干代码块之一,使用 Switch 语句。
使用 Switch 语句可以避免冗长的 if..elseif..else 代码块。
语法
switch (expression)
{
case label1:
expression = label1 时执行的代码 ;
break;
case label2:
expression = label2 时执行的代码 ;
break;
default:
表达式的值不等于 label1 及 label2 时执行的代码;
}
工作原理:
- 对表达式(通常是变量)进行一次计算
- 把表达式的值与结构中 case 的值进行比较
- 如果存在匹配,则执行与 case 关联的代码
- 代码执行后,break 语句阻止代码跳入下一个 case 中继续执行
- 如果没有 case 为真,则使用 default 语句
实例:
$favfruit="orange";
switch($favfruit){
case"apple":
echo"喜欢苹果";
break;
case"banana":
echo"喜欢香蕉";
break;
case"orange":
echo"喜欢橘子";
break;
default:
echo"没什么喜欢的";
}
输出结果:喜欢橘子
PHP 循环
PHP while 循环
PHP while 循环在指定条件为 true 时执行代码块。
在您编写代码时,经常需要反复运行同一代码块。我们可以使用循环来执行这样的任务,而不是在脚本中添加若干几乎相等的代码行。
在 PHP 中,我们有以下循环语句:
- while - 只要指定条件为真,则循环代码块
- do...while - 先执行一次代码块,然后只要指定条件为真则重复循环
- for - 循环代码块指定次数
- foreach - 遍历数组中的每个元素并循环代码块
只要指定的条件为真,while 循环就会执行代码块。
语法
while (条件为真) {
要执行的代码;
}
下例首先把变量 $x 设置为 1($x=1)。然后执行 while 循环,只要 $x 小于或等于 5。循环每运行一次,$x 将递增 1:
实例:
$x=1;
while($x<=5){
echo"这个数字是:$x<br>";
$x++;
}
输出结果:
这个数字是:1
这个数字是:2
这个数字是:3
这个数字是:4
这个数字是:5
PHP do...while 循环
do...while 循环首先会执行一次代码块,然后检查条件,如果指定条件为真,则重复循环。
语法
do {
要执行的代码;
} while (条件为真);
下面的例子首先把变量 $x 设置为 1($x=1)。然后,do while 循环输出一段字符串,然后对变量 $x 递增 1。随后对条件进行检查($x 是否小于或等于 5)。只要 $x 小于或等于 5,循环将会继续运行:
实例
$x=1;
do{
echo"这个数字是:$x<br>";
$x++;
}while($x<=5);
输出结果:
这个数字是:1
这个数字是:2
这个数字是:3
这个数字是:4
这个数字是:5
请注意,do while 循环只在执行循环内的语句之后才对条件进行测试。这意味着 do while 循环至少会执行一次语句,即使条件测试在第一次就失败了。
下面的例子把 $x 设置为 6,然后运行循环,随后对条件进行检查:
$x=6;
do{
echo"这个数字是:$x<br>";
$x++;
}while($x<=5);
输出结果:这个数字是:6
PHP for 循环
如果已经提前确定脚本运行的次数,可以使用 for 循环。
语法
for (init counter; test counter; increment counter) {
code to be executed;
}
参数:
- init counter:初始化循环计数器的值
- test counter:: 评估每个循环迭代。如果值为 TRUE,继续循环。如果它的值为 FALSE,循环结束。
- increment counter:增加循环计数器的值
下面的例子显示了从 0 到 10 的数字:
for($x=0;$x<10;$x++){
echo"数字是:$x<br>";
}
输出结果:
数字是:0
数字是:1
数字是:2
数字是:3
数字是:4
数字是:5
数字是:6
数字是:7
数字是:8
数字是:9
PHP foreach 循环
foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。
语法
foreach ($array as $value) {
code to be executed;
}
每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。
下面的例子演示的循环将输出给定数组($colors)的值:
$colors=array("rad","green","blue","yellow");
foreach($colorsas$value){
echo"$value<br>";
输出结果:
rad
green
blue
yellow
PHP 用户定义函数
除了内建的 PHP 函数,我们可以创建我们自己的函数。
函数是可以在程序中重复使用的语句块。
页面加载时函数不会立即执行。
函数只有在被调用时才会执行。
在 PHP 创建用户定义函数
用户定义的函数声明以单词 "function" 开头:
语法
function functionName() {
被执行的代码;
}
注释:函数名能够以字母或下划线开头(而非数字)。
注释:函数名对大小写不敏感。
提示:函数名应该能够反映函数所执行的任务。
在下面的例子中,我们创建名为 "functionName()" 的函数。打开的花括号({)指示函数代码的开始,而关闭的花括号(})指示函数的结束。此函数输出 "自定义函数名称"。如需调用该函数,只要使用函数名即可:
functionfunctionName(){
echo"自定义函数名称";
}
functionName();
输出结果:
自定义函数名称
PHP 函数参数
可以通过参数向函数传递信息。参数类似变量。
参数被定义在函数名之后,括号内部。您可以添加任意多参数,只要用逗号隔开即可。
下面的例子中的函数有一个参数($fname)。当调用 familyName() 函数时,我们同时要传递一个名字(例如 Bill),这样会输出不同的名字,但是姓氏相同:
functionfamilyName($fname){
echo"$fnameZhang.<br>";
}
familyName("LI");
familyName("hong");
familyName("xiaomei");
输出结果:
LI Zhang.
hong Zhang.
xiao mei Zhang.
下面的例子中的函数有两个参数($fname 和 $year):
functionfamilyName($fname,$year){
echo"$fnameZhang.Bornin$year<br>";
}
familyName("LI","1975");
familyName("Hong","1988");
familyName("Tao","1992");
输出结果:
LI Zhang.Born in 1975
Hong Zhang.Born in 1988
Tao Zhang.Born in 1992
PHP 默认参数值
下面的例子展示了如何使用默认参数。如果我们调用没有参数的 setHeight() 函数,它的参数会取默认值:
functionsetHeight($minhenight=50){
echo"theheightis:$minhenight<br>";
}
setHeight(350);
setHeight();//将使用默认值50
setHeight(135);
setHeight(10);
输出结果:
the height is : 350
the height is : 50
the height is : 135
the height is : 10
PHP 函数 - 返回值
如需使函数返回值,请使用 return 语句:
functionsum($x,$y){
$z=$x+$y;
return$z;
}
echo"5+10=".sum(5,10)."<br>";
echo"7+3=".sum(7,3)."<br>";
echo"2+4=".sum(2,4);
输出结果:
5 + 10 = 15
7 + 3 = 10
2 + 4 = 6
PHP 数组
数组能够在单独的变量名中存储一个或多个值。
实例
数组在单个变量中存储多个值:
$cars=array("porsche","BMW","Volvo");
echo"Ilike".$cars[0].",".$cars[1]."and".$cars[2].".";
输出结果:
I like porsche, BMW and Volvo.
什么是数组?
数组是特殊的变量,它可以同时保存一个以上的值。
如果您有一个项目列表(例如汽车品牌列表),在单个变量中存储这些品牌名称是这样的:
$cars1="porsche";
$cars2="BMW";
$cars3="Volvo";
不过,假如您希望对变量进行遍历并找出特定的那个值?或者如果您需要存储 300 个汽车品牌,而不是 3 个呢?
解决方法是创建数组!
数组能够在单一变量名中存储许多值,并且您能够通过引用索引号来访问某个值。
在 PHP 中创建数组
在 PHP 中, array() 函数用于创建数组:
array();
在 PHP 中,有三种数组类型:
- 索引数组 - 带有数字索引的数组
- 关联数组 - 带有指定键的数组
- 多维数组 - 包含一个或多个数组的数组
PHP 索引数组
有两种创建索引数组的方法:
索引是自动分配的(索引从 0 开始):
$cars=array("porsche","BMW","Volvo");
或者也可以手动分配索引:
$cars[0]="porsche";
$cars[1]="BMW";
$cars[2]="Volvo";
下面的例子创建名为 $cars 的索引数组,为其分配三个元素,然后输出包含数组值的一段文本:
$cars=array("保时捷","宝马","奥迪");
echo"ilike".$cars[0].",".$cars[1].",".$cars[2]."。";
输出结果:
i like保时捷,宝马,奥迪。
获得数组的长度 - count() 函数
count() 函数用于返回数组的长度(元素数):
$cars=array("保时捷","宝马","奥迪");
echocount($cars);
输出结果:3
遍历索引数组
如需遍历并输出索引数组的所有值,您可以使用 for 循环,就像这样:
$cars=array("保时捷","宝马","奔驰");
$arrlength=count($cars);
for($x=1;$x<$arrlength;$x++){
echo$cars[$x];
echo"<br>";
}
输出结果:
宝马
奔驰
PHP 关联数组
关联数组是使用您分配给数组的指定键的数组。
有两种创建关联数组的方法:
$age=array("Bill"=>"35","Steve"=>"37","Elon"=>"43");
或者
$age['Bill']="63";
$age['Steve']="56";
$age['Elon']="47";
实例:
$age=array("bill"=>"63","steve"=>"56","elon"=>"47");
echo"elonis".$age['elon']."yearsold.";
输出结果:
elon is 47years old.
遍历关联数组
如需遍历并输出关联数组的所有值,您可以使用 foreach 循环,就像这样:
$age=array("bill"=>"63","Steve"=>"56","Elon"=>"47");
foreach($ageas$x=>$x_value){
echo"Key=".$x.",value".$x_value;
echo"<br>";
}
输出结果:
Key=bill, value63
Key=Steve, value56
Key=Elon, value47
感谢w3school.com.cn指导教学