条件控制语句
- 根据不同条件执行不同动作
If……Else
if语句
-
仅当条件成立时执行代码
-
语法格式
if(条件) { 条件成立时要执行的代码; }
-
代码示例
if($a>=0) { echo $a; }
if……else语句
-
条件成立时执行一段代码,不成立则执行另一段代码
-
语法格式
if(条件) { 条件成立时要执行的代码; } else { 条件不成立时要执行的代码; }
-
代码示例
if($a>=0) { echo $a; } else { echo "变量a必须是非负的"; }
if……else if ……else语句
-
在若干条件之一成立时执行相应代码
-
语法格式
if (条件) { if 条件成立时执行的代码; } else if (条件) { else if 条件成立时执行的代码; } else { 条件不成立时执行的代码; }
elseif
与else if
完全等效
Switch
-
在若干条件之一成立时执行相应代码
-
语法格式
- 对表达式进行计算
- 与相应的
case
进行比较,进入相应代码快执行 break
用来禁止代码跳入后续case
语句- 若不使用
break
,在完成匹配后仍会继续比较后续case
- 若不使用
default
在没有case
为真时执行
<?php switch (n) { case label1: 如果 n=label1,此处代码将执行; break; case label2: 如果 n=label2,此处代码将执行; break; default: 如果 n 既不等于 label1 也不等于 label2,此处代码将执行; } ?>
-
代码示例
switch (n) { case 'int': echo "n是整数" break; case 'float': echo "n是浮点数" break; default: echo "请重新输入"; }
循环语句
While循环
while循环
-
先检查条件,再执行代码,只要条件成立,就一直重复执行代码块
-
语法格式
while (条件) { while 条件成立时执行的代码; }
-
代码示例
while($n>0) { $n--; }
do……while循环
-
先执行代码,再检查条件,只要条件成立,就一直重复执行代码块
- 至少会执行一次代码
-
语法格式
do { while 条件成立时执行的代码; }while (条件);
-
代码示例
do { $n--; }while($n>0);
For循环
for循环
-
常用于已知循环次数的循环
-
语法格式
for (初始值; 条件; 增量) { 要执行的代码; }
- 初始值:初始化一个变量值,常用作计数器
- 条件:为
TRUE
,则循环继续 - 增量:一般用于递增变量
- 初始值和参数可以为空;亦可以有多个表达式,用逗号分割
-
代码示例
for($i=0;$i<4;$i++) { echo $i; }
foreach循环
-
常用于遍历数组
-
语法格式
foreach ($array as $value) { 要执行代码; }
- 每次循环,当前数组元素的值会被赋值给 $value 变量
- 指针顺次移动
foreach ($array as $key => $value) { 要执行代码; }
- 每次循环,当前数组元素的键与值会分别被赋值给 $key 与 $value 变量
- 指针顺次移动
-
代码示例
$myarray=array('a'=>'apple','b'=>'banana'); foreach($myarray as $key=>$value) { echo "$key=$value "; }
跳出循环
- break: 直接终止当前循环
- continue: 终止本次循环,进入下一次迭代
数组
- 在单个变量中存储多个值
- 利用
array()
函数创建
数值数组
-
带有数字ID键的数组,键从零开始
$launch=array("noddles","rice");
-
count()
:返回数组的长度(元素个数) -
遍历数组:可以使用for循环来实现
<?php $launch=array("noddles","rice"); $arrlength=count($launch); for($x=0;$x<$arrlength;$x++) { echo $launch[$x]; echo "<br>"; } ?>
关联数组
-
键可以由用户分配
$salary=array("Joe"=>"1500$","Mike"=>"250$") 或者 $salary['Joe']="1500$";
-
遍历数组:可以用foreach循环实现
<?php $salary=array("Joe"=>"1500$","Mike"=>"250$"); foreach($salary as $key=>$value) { echo "key= ". $key . ", value= ".$value; echo "<br>"; } ?>
多维数组
-
包含一个或多个数组的数组
-
主数组中的每一个元素也可以是一个数组,子数组中的每一个元素也可以是一个数组
$grades=array ( array("Mike",90); array("Lucy",91); array("Tim",65); ); ?>
设置数组指针
reset()
内部指针指向数组中第一个元素
end()
内部指针指向数组中的最后一个元素,并输出
next()
内部指针指向数组中的下一个元素,并输出
prev()
内部指针指向数组中的上一个元素,并输出
current()
返回数组中当前元素的值
each()
返回当前元素的键名和键值,并将内部指针向前移动
数组排序
sort()函数
- 对数组进行升序排列
- 第二个参数值
- 0:默认,标准顺序,即ASCII码
- 1:当做数字来排序
- 2:当做字符串来排序
- 3:当做字符串,基于当前区域设置
- 4:当做字符串,自然排序
- 5:结合“2”或“4”进行排序,不区分大小写
rsort()函数
- 对数组进行降序排列
asort()函数
- 根据关联数组的值,对数组进行升序排列
ksort()函数
- 根据关联数组的键,对数组进行升序排列
arsort()函数
- 根据关联数组的值,对数组进行降序排列
krsort()函数
- 根据关联数组的键,对数组进行升序排列
常用操作
array_unshift()
在数组开头插入元素
array_push()
在数组尾部插入元素(入栈)
array_pop()
删除数组中最后一个元素(出栈)
array_shift()
删除数组中第一个元素,返回被删除元素的值
array_unique()
删除数组中重复的值
参考手册
以下文档包含Array
的所有函数,大家需要时可查阅。