条件语句
在编写代码的时候常常需要为不同判断执行不同的动作1
2
3
4
5
6
7if语句 -条件成立时执行代码
if...else语句 -条件成立时执行一块代码,条件不成立时执行另一块代码
if...elseif...else语句 -在若干条件之一成立时执行一个代码块
switch语句 -在若干条件之一成立时执行一个代码块
if语句
语法和C语言类似1
2
3if(条件){
代码;
}
例如1
2
3
4
5
6
$t=date("H");
if ($t<"20")
{
echo "Have a good day!";
}
如果当前时间小于20,那就输出Have a good day!
if…else语句
语法1
2
3
4
5
6
7
8if (条件)
{
条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}
例如1
2
3
4
5
6
7
8
9
10
$t=date("H");
if ($t<"20")
{
echo "Have a good day!";
}
else
{
echo "Have a good night!";
}
如果当前时间小于20,就输出Have a good day!,否则就输出Have a good night!
if…elseif…else
在若干条件之一成立时执行一个代码块
语法1
2
3
4
5
6
7
8
9
10
11
12if (条件)
{
if 条件成立时执行的代码;
}
elseif (条件)
{
elseif 条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}
例如1
2
3
4
5
6
7
8
9
10
11
12
13
14
$t=date("H");
if ($t<"10")
{
echo "Have a good morning!";
}
elseif ($t<"20")
{
echo "Have a good day!";
}
else
{
echo "Have a good night!";
}
如果当前时间小于 10,下面的实例将输出 Have a good morning!,如果当前时间不小于 10 且小于 20,则输出 Have a good day!,否则输出 Have a good night!
switch语句
switch语句可以说是if…elseif…else的改进,目的是为了更方便的在多条件下执行正确的代码块
语法1
2
3
4
5
6
7
8
9
10
11
12
switch (n)
{
case label1:
如果 n=label1,此处代码将执行;
break;
case label2:
如果 n=label2,此处代码将执行;
break;
default:
如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
例如1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$favcolor="red";
switch ($favcolor)
{
case "red":
echo "你喜欢的颜色是红色!";
break;
case "blue":
echo "你喜欢的颜色是蓝色!";
break;
case "green":
echo "你喜欢的颜色是绿色!";
break;
default:
echo "你喜欢的颜色不是 红, 蓝, 或绿色!";
}
首先对一个简单的表达式 n(通常是变量)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行。default 语句用于不存在匹配(即没有 case 为真)时执行
数组
数组能够在单个变量中存储多个值1
2
3
$cars=array("Volvo","BMW","Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
运行结果1
I like Volvo, BMW and Toyota.
数组就是为了方便遍历数据的产物1
2
3$cars1="Volvo";
$cars2="BMW";
$cars3="Toyota";
例如这样存储数据,那么在定义和调用的时候就会比较麻烦
创建数组
在PHP中使用array()
函数创建数组
数组有三种类型1
2
3
4
5数值数组 -带有数字ID键的数组
关联数组 -带有指定的键的数组,每个键关联一个值
多维数组 -包含一个或多个数组的数组
count函数
count函数用于返回数组的长度1
2
3
$cars=array("Volvo","BMW","Toyota");
echo count($cars);
运行结果为3
数值数组
自动分配ID键,总是从0开始1
$cars=array("Volvo","BMW","Toyota");
还可以人工分配,也就是指定下标内容1
2
3$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="Toyota";
遍历数值数组
遍历数组一般用循环语句1
2
3
4
5
6
7
8
9
$cars=array("Volvo","BMW","Toyota");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++)
{
echo $cars[$x];
echo "\n";
}
运行结果1
2
3Volvo
BMW
Toyota
关联数组
这里有两种关联数组的方式1
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
OR1
2
3$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
例如1
2
3
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
运行结果1
Peter is 35 years old.
遍历关联数组
打印关联数组中的所有值可以用foreach循环1
2
3
4
5
6
7
8
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
foreach($age as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "\n";
}
运行结果1
2
3Key=Peter, Value=35
Key=Ben, Value=37
Key=Joe, Value=43
数组排序
按字母或者数字顺序降序或升序排列
排列函数
1 | sort() - 对数组进行升序排列 |
sort -对数组升序排列
按照字母顺序升序排列1
2
3
4
$cars=array("Volvo","BMW","Toyota");
sort($cars);
print_r($cars);
运行结果1
2
3
4
5
6Array
(
[0] => BMW
[1] => Toyota
[2] => Volvo
)
按照数字排列1
2
3
4<?php
$numbers=array(4,6,2,22,11);
sort($numbers);
print_r($numbers);
运行结果1
2
3
4
5
6
7
8Array
(
[0] => 2
[1] => 4
[2] => 6
[3] => 11
[4] => 22
)
rsort() -对数组降序排列
按字母排列1
2
3
4
$cars=array("Volvo","BMW","Toyota");
rsort($cars);
print_r($cars);
运行结果1
2
3
4
5
6Array
(
[0] => Volvo
[1] => Toyota
[2] => BMW
)
按字母排列类似
asort -根据数组的值升序排列
1 |
|
运行结果1
2
3
4
5
6Array
(
[Peter] => 35
[Ben] => 37
[Joe] => 43
)
降序排列为arsort()
ksort() -根据数组的键升序排列
1 |
|
运行结果1
2
3
4
5
6Array
(
[Ben] => 37
[Joe] => 43
[Peter] => 35
)
降序排列为krsort()
总结
1.PHP的判断语句与C语言很类似,在只有一句代码而不是代码块时,可以省略{}
2.PHP的数组创建使用的是array()函数,而不是使用[]
3.PHP中的数值数组其实ID键就是所说的下标,而关联数组类似于python中的键值对
4.数组的排列函数升序是sort,逆序就在sort前加一个r
5.遍历关联数组需要使用foreach语句,foreach 仅能够应用于数组和对象,在后面的循环中会讲到