PHP学习笔记 - 入门篇(5)

语言结构语句

顺序结构

eg:

<?php
$shoesPrice = 49; //鞋子单价
$shoesNum = 1; //鞋子数量
$shoesMoney = $shoesPrice * $shoesNum;
$shirtPrice = 99; //衬衣单价
$shirtNum = 2; //衬衣数量
$shirtMoney = $shirtPrice * $shirtNum;
$orderMoney = $shoesMoney + $shirtMoney;
echo $orderMoney ;
?>

输出:

247

条件结构之if…else…

<?php
if(条件){
//分配服务器干的任务A
}else{
//分配服务器干的任务B
}
?>

通过条件判断,若返回值为布尔值TRUE,则执行任务A,若返回值为FALSE,则执行任务B。

<?php
date_default_timezone_set('Asia/ShangHai');
$today = date('m-d',time());//获取当天日期
$birthday = "02-14";//生日
$money = 238;//消费金额
$discount = 0.8;//八折优惠
if($today == $birthday) { $money = $money * $discount;
}else{ $money = $money * 1;
} echo $money;
?>

条件结构之if…else if…

PHP中的“if…else if…”语法,如下:

<?php
if(条件一){
//分配服务器干的任务A
}else if(条件二){
//分配服务器干的任务B
}
?>

通过条件一判断,若返回值为布尔值为TRUE,则执行任务A,若返回值为FALSE,则判断条件二,若返回值为布尔值TRUE,则执行任务B,否则既不执行任务A,也不执行任务B。服务器会继续往下执行其他任务。

eg:

<?php
$totalMoney = 0;//总工资
$basicMoney = 2000;//基本工资
$sex = "男"; if($sex == "男"){
$totalMoney = $basicMoney + 0;// 男的没奖金
}else if($sex == "女"){
$totalMoney = $basicMoney + 300;// 女的有奖金300元
}
echo $totalMoney;
?>

条件结构之if…else if…else…

PHP中的“if…else if…else…”语法,如下

<?php
if(条件一){
//分配服务器干的任务A
}else if(条件二){
//分配服务器干的任务B
}else{
//分配服务器干的任务C
}
?>

通过条件一判断,若返回值为布尔值TRUE,则执行任务A,若返回值为FALSE,则判断条件二,若返回值为布尔值TRUE,则执行任务B,否则既不执行任务A,也不执行任务B,执行任务C。

eg:

<?php
date_default_timezone_set('asia/shanghai');
$week = date("w");//获取当天星期几
$info = "";//提示信息
if ($week == 1) {
$info = "上午有课";
}else if($week == 3){
$info = "下午有课";
}else{
$info = "今天没课";
}
echo $info; //输出提示信息
?>

输出:

今天没课

条件结构之switch…case…

PHP中的“switch...case...”语法,如下:

<?php
switch (条件)
{
case 条件值一:
//任务一
break;
case 条件值二:
//任务二
break;
default:
//默认任务
}
?>

首先判断条件,若条件的返回值为条件值一,则执行任务一,若条件返回的值为条件值二,则执行任务二,若条件的返回值既不是条件值一也不是条件值二,则执行默认任务。break的作用是结束switch(后面会有专门举例说明),使用 switch 语句可以避免冗长的 “if..else if..else”代码块。

eg:

<?php
$num = rand(1,50);//获取1至50的随机数
$info = "";//提示信息
switch($num) {
case 1:
$info = "恭喜你!中了一等奖!";
break;
case 2:
$info = "恭喜你!中了二等奖!";
break;
case 3:
$info = "恭喜你!中了三等奖!";
break;
default:
$info = "很遗憾!你没有中奖!";
}
echo $info; //输出是否中奖
?>

条件结构之switch…case…中的break

break的作用是阻止代码进入下一个case 中继续执行。

eg:

<?php
//A例子
$num = 2;
$sum = 10;
switch($num){
case 1:
$sum = $sum + 10;
break;
case 2:
$sum = $sum + 10;
break;
case 3:
$sum = $sum + 10;
break;
default:
$sum = $sum + 10;
}
echo "A例子的值是:".$sum."<br />";
//B例子
$num = 2;
$sum = 10;
switch($num){
case 1:
$sum = $sum + 10;
case 2:
$sum = $sum + 10;
case 3:
$sum = $sum + 10;
default:
$sum = $sum + 10;
}
echo "B例子的值是:".$sum."<br />";
?>

PHP中循环结构之while循环语句

在PHP中,while循环语句如下:

<?php
while(条件){
//执行任务
}
?>

首先判断某个条件是否符合(条件返回值是否为TRUE),若符合则执行任务,执行完毕任务,再判断条件是否满足要求,符合则重复执行此任务,否则结束任务。

eg:

<?php
$sum = 12;//小宠物当前的饥饿程度
echo "我饿啦:-(";
echo "<br />";
while($sum<100){//小宠物的饥饿程度到100,表示小宠物吃饱啦,不用继续喂了,没吃饱继续喂食
$num = rand(1,20);//随机数,模拟喂食小宠物的小面包
$sum = $sum + $num; //小宠物吃小面包
echo "我还没吃饱呢!";
echo "<br />";
}
echo "终于吃饱啦^_^";
?>

输出:

我饿啦:-(
我还没吃饱呢!
我还没吃饱呢!
我还没吃饱呢!
我还没吃饱呢!
我还没吃饱呢!
我还没吃饱呢!
我还没吃饱呢!
我还没吃饱呢!
终于吃饱啦^_^

PHP中循环结构之do while循环语句

在PHP中循环语句还有另一种:do...while循环语句语法如下:

<?php
do{
//执行任务
}while(条件)
?>

首先执行任务(上一节的while语句是先判断条件是否成立,再执行任务),执行任务完毕,判断某个条件是否符合(条件返回值是否为TRUE),若符合则再次执行任务,执行完毕任务,继续判定条件。

eg:

<?php
$i = 1 ; //从第1圈开始跑
do{ //跑10圈
echo "在跑第".$i."圈。";
$i++;
}while($i<=10);
?>

输出:

在跑第1圈。在跑第2圈。在跑第3圈。在跑第4圈。在跑第5圈。在跑第6圈。在跑第7圈。在跑第8圈。在跑第9圈。在跑第10圈。

PHP中循环结构之while与do…while语句的区别

while与do…while循环语句的区别是,while先判断条件是否成立,后执行循环,do...while先执行一次任务,再判断是否继续执行循环,也就是说do...while至少会执行一次任务。当条件为FALSE时,while中的任务会一次也不执行,do...while中的任务会执行1次。

eg:

<?php
//A例子
$num = 2;
$sum = 10;
while($num>3){
$sum = $sum + 10;
}
echo "A例子的结果:".$sum."<br />";
//B例子
$num = 2;
$sum = 10;
do{
$sum = $sum + 10;
}while($num>3);
echo "B例子的结果:".$sum."<br />";
?>

输出:

A例子的结果:10
B例子的结果:20

PHP中循环结构之do…while语句的运用优势举例

while和do...while可以根据具体情况选用。假设有一种棋类游戏,首先掷骰子,若不为6,前进骰子的点数的步长;若为6,前进骰子的点数的步长,并可以再掷一次。

<?php
//while例子
$sum = 0;
$num = rand(1,6); //获取1至6的随机数,模拟掷骰子
$sum = $sum + $num;//前进步长
while($num==6){
$num = rand(1,6);//获取1至6的随机数,模拟掷骰子
$sum = $sum + $num;//前进步长
};
echo "while例子执行完毕,前进:".$sum ."<br />";
//do...while例子
$sum = 0;
do{
$num = rand(1,6);//获取1至6的随机数,模拟掷骰子
$sum = $sum + $num;//前进步长
}while($num==6);
echo "do...while例子执行完毕,前进:".$sum ."<br />";
?>
while例子执行完毕,前进:2
do...while例子执行完毕,前进:2

PHP中循环结构之for循环语句

在PHP中还有一种循环语句,for循环语句结构如下:

<?php
for(初始化;循环条件;递增项){
//执行任务
}
?>

for 语句中,“初始化”在循环开始前无条件求值一次,“循环条件”在每次循环开始前求值。如果值为 TRUE,则继续循环,执行循环体语句(执行任务)。如果值为 FALSE,则终止循环。“递增项”在每次循环之后被求值(执行)。其常用于循环执行代码块指定的次数。

eg:

<?php
//for语句写法
for($i = 1,$sum = 0;$i<=100;$i++){
$sum = $sum + $i; // 累加求和
}
echo "for语句的运行结果:".$sum."<br />" ; //while语句写法
$i = 1 ; // 从1开始累加
$sum = 0; //初始化和为0
while($i<=100){ //判断是否小于100
$sum = $sum + $i; // 累加求和
$i++; //递增1
}
echo "while语句的运行结果:".$sum."<br />" ;
?>
for语句的运行结果:5050
while语句的运行结果:5050

PHP中循环结构之foreach循环语句(任务一)

在PHP中foreach循环语句,常用于遍历数组,一般有两种使用方式:不取下标、取下标。

(1)只取值,不取下标

<?php
foreach (数组 as 值){
//执行的任务
}
?>

(2)同时取下标和值

<?php
foreach (数组 as 下标 => 值){
//执行的任务
}
?>

eg:

<?php
$students = array(
'2010'=>'令狐冲',
'2011'=>'林平之',
'2012'=>'曲洋',
'2013'=>'任盈盈',
'2014'=>'向问天',
'2015'=>'任我行',
'2016'=>'冲虚',
'2017'=>'方正',
'2018'=>'岳不群',
'2019'=>'宁中则',
);//10个学生的学号和姓名,用数组存储 //使用循环结构遍历数组,获取学号和姓名
foreach($students as $v)
{
echo $v;//输出(打印)姓名
echo "<br />";
}
?>

输出:

令狐冲
林平之
曲洋
任盈盈
向问天
任我行
冲虚
方正
岳不群
宁中则

eg:

<?php
$students = array(
'2010'=>'令狐冲',
'2011'=>'林平之',
'2012'=>'曲洋',
'2013'=>'任盈盈',
'2014'=>'向问天',
'2015'=>'任我行',
'2016'=>'冲虚',
'2017'=>'方正',
'2018'=>'岳不群',
'2019'=>'宁中则',
);//10个学生的学号和姓名,用数组存储 //使用循环结构遍历数组,获取学号和姓名
foreach($students as $key => $v)
{
echo $key.":".$v;//输出(打印)学号:姓名
echo "<br />";
}
?>

输出:

2010:令狐冲
2011:林平之
2012:曲洋
2013:任盈盈
2014:向问天
2015:任我行
2016:冲虚
2017:方正
2018:岳不群
2019:宁中则

PHP中结构嵌套之条件嵌套

假设在发3月工资的时候,不仅判定性别,还要判定男性是否有房,没有房,可以发放住房补贴,对于女性,判定是否怀孕,怀孕还有怀孕补贴。

eg:

<?php
$totalMoney = 0;//总工资
$basicMoney = 300;//基本工资
$sex = "男";
$noHouse = TRUE; //是否有房
$houseMoney = 150;//住房补贴
$isPregnancy = TRUE; //是否怀孕
$pregnancyMoney = 100;//怀孕补贴
if($sex == "男")
{
$totalMoney = $basicMoney + 0;// 男的没奖金
if($noHouse)
{
$totalMoney = $totalMoney + $houseMoney;
}
}
else if($sex == "女")
{
$totalMoney = $basicMoney + 300;// 女的有奖金300元
if($isPregnancy)
{
$totalMoney = $totalMoney + $pregnancyMoney;
}
}
echo $totalMoney;
?>

输出:

450

PHP中结构嵌套之循环嵌套

eg:

<?php
$students = array(
'2010'=>array('令狐冲',"59"),
'2011'=>array('林平之',"44"),
'2012'=>array('曲洋',"89"),
'2013'=>array('任盈盈',"92"),
'2014'=>array('向问天',"93"),
'2015'=>array('任我行',"87"),
'2016'=>array('冲虚',"58"),
'2017'=>array('方正',"74"),
'2018'=>array('岳不群',"91"),
'2019'=>array('宁中则',"90"),
);//10个学生的学号、姓名、分数,用数组存储 foreach($students as $key => $val)
{ //使用循环结构遍历数组,获取学号
echo $key; //输出学号
echo ":";
//循环输出姓名和分数
foreach($val as $v)
{
echo $v;
}
echo "<br />";
}
?>

输出:

2010:令狐冲59
2011:林平之44
2012:曲洋89
2013:任盈盈92
2014:向问天93
2015:任我行87
2016:冲虚58
2017:方正74
2018:岳不群91
2019:宁中则90

PHP中结构嵌套之循环结构与条件结构嵌套

eg:

<?php
$students = array(
'2010'=>'令狐冲',
'2011'=>'林平之',
'2012'=>'曲洋',
'2013'=>'任盈盈',
'2014'=>'向问天',
'2015'=>'任我行',
'2016'=>'冲虚',
'2017'=>'方正',
'2018'=>'岳不群',
'2019'=>'宁中则',
);//10个学生的学号和姓名,用数组存储
$query = '2014';
//使用循环结构遍历数组,获取学号和姓名
foreach($students as $key => $v)
{
//使用条件结构,判断是否为该学号
if($key == $query)
{
echo $v;//输出(打印)姓名
break;//结束循环(跳出循环)
}
}
?>

输出:

向问天

PHP学习笔记 - 入门篇(5)的更多相关文章

  1. PHP学习笔记 - 入门篇(4)

    PHP学习笔记 - 入门篇(4) 什么是运算符 PHP运算符一般分为算术运算符.赋值运算符.比较运算符.三元运算符.逻辑运算符.字符串连接运算符.错误控制运算符. PHP中的算术运算符 算术运算符主要 ...

  2. PHP学习笔记 - 入门篇(3)

    PHP学习笔记 - 入门篇(3) 常量 什么是常量 什么是常量?常量可以理解为值不变的量(如圆周率):或者是常量值被定义后,在脚本的其他任何地方都不可以被改变.PHP中的常量分为自定义常量和系统常量 ...

  3. PHP学习笔记--入门篇

    PHP学习笔记--入门篇 一.Echo语句 1.格式 echo是PHP中的输出语句,可以把字符串输出(字符串用双引号括起来) 如下代码 <?php echo "Hello world! ...

  4. PHP学习笔记 - 入门篇(2)

    PHP入门篇(2) 什么是变量 变量是用于存储值的容器,如下 $var = @"6666" 如何定义变量 定义变量就是像服务器的内存申请空间,用来存储数据,eg: <?php ...

  5. GeneXus学习笔记——入门篇

    使用GeneXus做开发做了有一段时间了 却发现一个问题(O_O)?就是除了相关的Wiki外 网上其他地方的相关资料都很少 于是乎我就想在这记录一些东西 来帮助以后会用到的人(°ー°") 那 ...

  6. JavaScript学习笔记 - 入门篇(1)- 准备

    为什么学习JavaScript 一.你知道,为什么JavaScript非常值得我们学习吗? 所有主流浏览器都支持JavaScript. 目前,全世界大部分网页都使用JavaScript. 它可以让网页 ...

  7. android学习笔记(入门篇)

    +号只是当你第一次定义一个资源ID的时候需要, 告诉SDK此资源ID需要被创建出来 对于所有的View默认的权重是0,如果你只设置了一个View的权重大于0,那么这个View将占据除去别的View本身 ...

  8. Android攻城狮学习笔记—入门篇三

    第十章 CheckBox 与其他控件类似 有自己的监听方法 实现监听 并定义被选中或取消后的操作 第十一章 RadioGroup和RadioButton RadioGroup是RadioButton的 ...

  9. Android攻城狮学习笔记—入门篇二

    第七章  跑马灯 activity_main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/an ...

随机推荐

  1. Cocos2d-x——pthread的使用注意事项

    1:多线程所调用的成员方法定义为static. 2:互斥锁(pthread_mutex_t)定义在cpp文件的开头,并且也定义为static. 3:pthread_mutex_init方法尽量在最早的 ...

  2. C++转义字符 &amp; keyword

    转义字符: 换行符 \n   水平制表符\t 纵向制表符 \v 退格符 \b 回车符 \r   进纸符 \f 报警(响铃)符 \a 反斜线 \\ 疑问号 \? 单引號 \' 双引號 \"   ...

  3. Codeforces Gym 100733H Designation in the Mafia flyod

    Designation in the MafiaTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/c ...

  4. HDU 4587 B - TWO NODES tarjan

    B - TWO NODESTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view ...

  5. 【转】Delphi调用webservice总结

    原文:http://www.cnblogs.com/zhangzhifeng/archive/2013/08/15/3259084.html Delphi调用C#写的webservice 用delph ...

  6. android-betterpickers

    https://github.com/derekbrameyer/android-betterpickers

  7. apicloud+融云实现即时通讯

    请尊重作者的辛勤劳动!!! 使用apicloud开发已经快2个月了,起初的目的就是为了实现安卓和苹果的兼容,属于一个试验项目,究竟apicloud是否能够满足公司的要求?最 终看来还是不错的,使用ap ...

  8. 一起聊聊 Swift 3.0

    Swift3.0将会给我们带来哪些改变: 1. 稳定二进制接口(ABI) ABI是什么呢?API大家都知道是应用程序接口 API只是提供函数签名 而ABI是系统和语言层面的 如果ABI稳定 意味着以后 ...

  9. python 学习(一)

    python的基础看完了之后,有点像简化并提供了一定优化后的java基础,看java多了的人看python还是比较别扭的.看完别人对于java和python的对比,我只能感慨一句,还有什么是java办 ...

  10. Cordova 3.0 Plugin 安装 及"git" command line tool is not installed

    根据http://docs.phonegap.com/en/edge/guide_cli_index.md.html#The%20Command-line%20Interface Windows命令行 ...