网易首页 > 网易号 > 正文 申请入驻

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

0
分享至

上一节课讲的是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){echo "及格了"."\r\n";}

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<10) {

$c++;

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

}

do...while语句语法:

$c=0;

do {

$c++;

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

} while ($c<10)

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

例子代码如下:

例子运行结果:

PHP循环for语句

for循环语句有2种:

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

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

for语句语法:

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

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

}

例子:

for ($c=0;$c<5;$c++) {

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

}

for ($n=0;$n<20;$n=$n+2) {

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<10;$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<20) {

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);

例子代码如下:

例子运行结果:

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
反转!利物浦新帅要价太高,高层被迫放弃,穆里尼奥有望接手

反转!利物浦新帅要价太高,高层被迫放弃,穆里尼奥有望接手

祥谈体育
2024-04-24 11:17:36
傅首尔与儿子跳舞,14岁多乐皮肤白净长相秀气,身高近一米八!

傅首尔与儿子跳舞,14岁多乐皮肤白净长相秀气,身高近一米八!

娱小小新
2024-04-24 16:35:35
惠州楼市全军覆没,惠州惠城区房价从13000元降至11000元楼市分析

惠州楼市全军覆没,惠州惠城区房价从13000元降至11000元楼市分析

有事问彭叔
2024-04-24 15:49:42
博眼球,无内裤走红毯?关晓彤杨幂也太拼了,网友:那是C字裤

博眼球,无内裤走红毯?关晓彤杨幂也太拼了,网友:那是C字裤

室内设计师阿喇
2024-04-21 21:40:35
新型骗局又来了!很多人还不知道! 骗子的手段太高明了

新型骗局又来了!很多人还不知道! 骗子的手段太高明了

据说说娱乐
2024-04-24 12:06:24
四川成都房价快成天大的笑话了,现在卖房子,已经可笑到什么程度

四川成都房价快成天大的笑话了,现在卖房子,已经可笑到什么程度

科学发掘
2024-04-24 18:47:17
北京车展当天福特搞了个大新闻!这阵仗背后意义深远!

北京车展当天福特搞了个大新闻!这阵仗背后意义深远!

玩车教授
2024-04-24 15:50:41
现在,闹也没用了

现在,闹也没用了

中产先生
2023-12-12 13:17:56
4月22日,许久没露面的知名歌手沙宝亮,突然冲上了热搜

4月22日,许久没露面的知名歌手沙宝亮,突然冲上了热搜

落日桥头
2024-04-23 14:45:01
太暴力了,利空也能地天板,稍不注意就亏20个点!

太暴力了,利空也能地天板,稍不注意就亏20个点!

资本百科
2024-04-24 14:49:26
NBA季后赛场均得分榜:东契奇第1、杜兰特第2、詹姆斯第3

NBA季后赛场均得分榜:东契奇第1、杜兰特第2、詹姆斯第3

懂球帝
2024-04-24 23:36:15
北京跌到200万的电梯房……

北京跌到200万的电梯房……

科学发掘
2024-04-24 19:53:02
一错再错,连续对华下“狠手”!中方忍无可忍,火速放出大招

一错再错,连续对华下“狠手”!中方忍无可忍,火速放出大招

诉说人世间
2024-04-24 16:57:53
基努·里维斯:帅到令人发指,59岁才结婚,新娘比他小5岁满头白发

基努·里维斯:帅到令人发指,59岁才结婚,新娘比他小5岁满头白发

毒舌小红帽
2024-04-23 19:12:55
新华社快讯:俄罗斯斯摩棱斯克地区的燃料和能源设施发生火灾。

新华社快讯:俄罗斯斯摩棱斯克地区的燃料和能源设施发生火灾。

新华社
2024-04-24 10:14:10
闹大了!苏州女子说燃气费翻了一倍,现想道歉,怕老公工作保不住

闹大了!苏州女子说燃气费翻了一倍,现想道歉,怕老公工作保不住

汉史趣闻
2024-04-23 18:36:31
河南8岁儿童被马拖300米身亡:父母不在场亲戚陪玩,项目不合法!

河南8岁儿童被马拖300米身亡:父母不在场亲戚陪玩,项目不合法!

小路杂谈
2024-04-23 19:15:56
2017年,8岁男孩突然死亡,医生面色凝重:别告诉家属,直接报警

2017年,8岁男孩突然死亡,医生面色凝重:别告诉家属,直接报警

小金鱼的眼泪
2024-04-23 09:22:30
NBA历史十大垃圾合同:又臭又长,让你见识啥叫骗子!

NBA历史十大垃圾合同:又臭又长,让你见识啥叫骗子!

刺头体育
2024-04-23 07:30:03
美警告:如果中国敢拖走仁爱礁菲律宾破船!中美就会爆发战争!

美警告:如果中国敢拖走仁爱礁菲律宾破船!中美就会爆发战争!

明日之家
2024-04-24 15:24:42
2024-04-25 01:24:49
学哥读书
学哥读书
读万卷书,行万里路,知行合一
1200文章数 3392关注度
往期回顾 全部

科技要闻

特斯拉被爆大量毁约应届生 友商"在线抢人"

头条要闻

赵本山之子已在本山传媒集团任总裁助理 透露父亲近况

头条要闻

赵本山之子已在本山传媒集团任总裁助理 透露父亲近况

体育要闻

足智多谋的哈姆,温水里的青蛙

娱乐要闻

方媛带两女儿参加婚礼,当花童超可爱

财经要闻

居民气价确实在涨,多地正普遍发生

汽车要闻

这灯效我能看半小时 奥迪Q6L e-tron有备而来

态度原创

数码
房产
游戏
时尚
公开课

数码要闻

机械革命耀世16 Pro已开售:i7-14650HX + RTX 4060 版本 7799 元

房产要闻

大手笔收购!华润入局三亚城市更新!

《星刃》IGN 7分:动作出色、剧情角色欠佳

六年后全民倒戈,支持魏嬿婉扶正!

公开课

睡前进食会让你发胖吗?

无障碍浏览 进入关怀版