0057 PHP编程语言的条件和循环语句以及函数

上一节课讲的是PHP编程语言的基础语法和一些简单例子。

这节课来说明几种基本的程序逻辑以及函数的用法,包括常用的字符串函数和数组函数。

PHP条件语句 if...else...elseif

三种代码执行顺序逻辑语句:顺序执行/条件分支执行/循环执行。

条件分支语句可以根据不同的条件执行不同的代码。

if语句:如果指定条件为true,则执行代码。

if...else语句:如果条件为true,则执行代码;如果条件为false,则执行另一段代码。

if...elseif...else:根据条件选择某段代码执行。

if语句的语法:

if (条件) {

条件为true时执行的代码

}

例子:

$score=60;

if ($score>=60){

echo "及格了"."\r\n";

}

注意:PHP的语法主要靠括号以及花括号或者分号进行分隔,因此不需要像Python那样严格的格式要求。

例如上面的代码也可以放在一行中:if ($score>=60)

if...else语句的语法:

if (条件) {

条件为true时执行的代码

} else {

条件为false时执行的代码

}

例子:

$score=59;

if ($score>=60) {

echo "及格了"."\r\n";

} else {

echo "不及格"."\r\n";

}

if...elseif...else语句的语法:

if (条件1) {

条件1为true时执行的代码

} elseif (条件2) {

条件2为true时执行的代码

} elseif (条件3) {

条件3为true时执行的代码

} else {

条件全部为false时执行的代码

}

例子:

$score=88;

if ($score>=85) {

echo "优秀"."\r\n";

} else if ($score>=70) {

echo "一般"."\r\n";

} else if ($score>=60) {

echo "及格"."\r\n";

} else {

echo "不及格"."\r\n";

}

例子代码如下:

例子运行结果:

PHP循环while语句

常用的循环语句时while循环语句和for循环语句。

while循环语句有2种:

while语句:当条件为true时,循环执行语句。

do...while语句:先执行一次代码块,然后只要条件为true则循环执行。

这2种的区别在于一种是先判断再循环,一种是先执行一次再判断再循环。

do...while语句其实也可以使用while语句实现,所以不是必须的,但在某些情况下do...while语句可以精简代码。

while语句语法:

while (条件) {

当条件为true时,重复执行的代码

}

$c=0;

while ($c

$c++;

echo "while循环次数:".$c."\r\n";

}

do...while语句语法:

$c=0;

do {

$c++;

echo "dowhile循环次数:".$c."\r\n";

} while ($c

这2种情况在初始值不同的情况下,可能结果不同。例如当初始值$c=10;的情况下就会不一样。

例子代码如下:

例子运行结果:

PHP循环for语句

for循环语句有2种:

for语句:已知循环次数或情况下,循环执行。

foreach语句:适用于数组,遍历数组中的每个元素执行。

for语句语法:

for (条件初始化; 条件判断; 条件变量改变) {

满足条件时循环执行的代码

}

例子:

for ($c=0;$c

echo "for循环次数:".$c."\r\n";

}

for ($n=0;$n

echo "步进2for循环次数:".$n."\r\n";

}

foreach语句语法:

foreach (数组变量 as 元素变量) {

遍历每个元素,循环执行的代码,每次的元素变量的值会不一样

}

例子:

$colors=array("red","green","blue");

foreach ($colors as $onecolor) {

echo "foreach循环:".$onecolor."\r\n";

}

$ages=array("tom"=>36,"jack"=>48,"michael"=>19);

foreach ($ages as $name=>$age) {

echo "带键的foreach循环:name:".$name.":age:".$age."\r\n";

}

例子代码如下:

例子运行结果:

PHP循环的continue和break语句

如果需要中途忽略某种情况跳到下一个元素继续循环,可以使用continue语句。

例子:

for ($c=0;$c

if ($c % 2 ==1) {

//奇数的时候不做处理,跳到下一次循环

continue;

}

echo "偶数:".$c."\r\n";

}

如果需要中途退出循环语句,可以使用break语句。

例子:

$ages=array("tom"=>36,"jack"=>48,"michael"=>19,"alex"=>16);

foreach($ages as $name=>$age){

if ($age

echo "第一个年轻人:".$name."的年龄是".$age."岁。"."\r\n";

//退出循环

break;

}

echo "带键的foreach循环:name:".$name.":age:".$age."\r\n";

}

结果可以看到,break退出之后,最后一个alex没有处理了。

例子代码如下:

例子运行结果:

PHP函数

PHP有很多内置的函数,当然也可以自己创建函数。

函数就是一组代码组合起来,并可以在代码中重复使用。

函数有一个函数名,并可以设置传入的参数和返回值。

函数自己不会执行,只有被调用才会执行。

创建函数语法:

function 函数名(参数1,参数2...) {

函数执行代码块

}

函数名必须时字母或者下划线开头,不能以数字开头。

函数名对大小写不敏感,例如Echo 和 ECHO是一样的。

例如:

function writeInfo() {

echo "hello"."\r\n";

}

function writeMyName($name) {

echo "name is ".$name."\r\n";

}

调用函数:

writeInfo();

$myname="michael";

writeMyName($myname);

函数有返回值例子:

function add($a,$b) {

return $a+$b;

}

调用函数:

$x=3;

$y=6;

echo add($x,$y)."\r\n";

例子代码如下:

例子运行结果:

PHP常用字符串函数

字符串是常用的数据类型,系统内置了很多字符串函数,下面介绍一些常用的字符串函数。

trim:移除字符串两侧的空白字符。

strlen:返回字符串的长度。

explode:把字符串打散为数组。

implode:返回由数组元素组合成的字符串

substr:返回字符串的一部分。

其它函数,大家可以自行搜索PHP手册进行自学。

例子:

$str1=" hello world ";

echo "trim结果:".trim($str1)."\r\n";

$str2="this is a new world.";

echo "strlen结果:".strlen($str2)."\r\n";

$ret=explode(" ",$str2);

echo "explode结果:"."\r\n";

var_dump($ret);

$ret2=implode(",",$ret);

echo "impolde结果:".$ret2."\r\n";

echo "substr结果:".substr($str2,2,4)."\r\n";

例子代码如下:

例子运行结果:

PHP常用数组函数

数组是最常用的数据类型,系统内置了很多数组函数,下面介绍常用的及格函数,更多的函数情查看PHP手册。

array:新建一个数组。

count:返回数组的元素总个数。

array_keys:返回数组的所有键名。

array_key_exists:判断键名是否存在于数组中。

array_values:返回数组中所有的元素值。

sort:对数组进行排序。

例子:

$colors=array("red","green","blue");

echo "count结果:".count($colors)."\r\n";

echo "array_keys结果:"."\r\n";

var_dump(array_keys($colors));

$ages=array("tom"=>36,"jack"=>48,"michael"=>19);

echo "array_keys结果:"."\r\n";

var_dump(array_keys($ages));

echo "array_key_exists结果:"."\r\n";

var_dump(array_key_exists("jack",$ages));

echo "array_key_exists结果:"."\r\n";

var_dump(array_key_exists(5,$colors));

echo "array_values结果:"."\r\n";

var_dump(array_values($colors));

echo "array_values结果:"."\r\n";

var_dump(array_values($ages));

sort($colors);

echo "sort结果:"."\r\n";

var_dump($colors);

sort($ages);

echo "sort结果:"."\r\n";

var_dump($ages);

例子代码如下:

例子运行结果:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181003A0ENYD00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券