-》php基本语法-三元运算符
基本语法
表达式1?表达式2:表达式3
规则:如果表达式1的结果是true,则取表达式 2的值。否则,取表达式3的值。
举例:
$a=90;
$b=180;
$c=$a>$b?(12-10):"hello,world";
echo 'c=='.$c;
?>
-》php 的字符串运算符
案例:
$a="hello ,world";
$b=123;
$c=$b.$a;//$a具体表示内容和$b 表示内容拼接
echo $c;
?>
-》php 的字符串运算符
案例:
$a="hello,world";
$b=123;
$=$b.$a;//$a具体表示内容 和$b 表示内同拼接
echo $c;
从上例案例我们看出,当两个变量(基本数据类型)用,链接的时候,就表示把他们的内容拼接
-》类型运算符
基本语法是:instanceof 用于确定一个php 变量是否属于某一类class 的实例,通常在面向对对象
开发中可能用的。
class Dog{}
class Dog{}
//创建一个对象
$cat1=new Cat;
//var_dump($cat1 instanceof Dog);
//在世纪开发中,我们可能需要去判断某个变量是否是某个类型
if($cat1 instanceof Cat){
echo'$cat1 是一只猫';
}
-》运算符优先级的说明
//*****运算优先级****
$a=3;
$b=++$a*3;
echo $b;
①②③④⑤⑥⑦⑧⑨⑩
-》php 程序的三大流程控制
① 顺序控制
$a=7;
echo "a=".a;
echo "hello!";
$a++;
echo"a=".a;
echo "O(∩_∩)O";
$a++;
echo"a="+a;
所谓顺序控制流程,就是不加控制的流程,默认情况,会按照,顺序类执行你编写的代码
②分支控制
一个简单的定义:有选择的来执行我们的代码;
分为1.单分支 2.双分支 3.多分支
1.单分支的基本语法结构
if(条件表达式){
语句;
//.....
//.........
}
这里我们,这里的条件表达式不管多复杂,最总运算的结果就是true 或者 false.
快速入门:
编写一个程序,可以输入人的年龄,如果该同志的年龄大于年龄大于18岁,则输出“你年龄大
于18岁,要对自己的星期负责”
$age=7;
if($age>18){
echo'你的年龄大于18';
}
2.双分支
基本语法结构
if(条件表达式){
//n多语句;
}else{
//n多语句;
}
编写一个程序,可以输入人的年龄,如果该同志的年龄大于18岁,则输出“你年龄大于18岁,要对自己的行为负责!”。否则,输出“你的年龄不大这次放过你了。”
代码:
$age=4;
if($age>18){
echo'你的年龄大于18';
}else{
echo'你的年龄小于18';
}
echo'
程序结束';
3.多重分支
基本语法结构是
if(条件表达式){
//n多语句
}else if(条件表达式){
//n多语句
}else if (条件表达式){
//。
}//这里可能还有更多的else if
else{
}
☞对上面的结构请注意:
(1) else if 可以有一个,也可以有多个
(2) else 可以没有
快速入门案例:
编写一个程序,可以输入人的年龄,如果该同志的年龄大于18岁,则输出“你的年龄大于18,要对
自己的行为负责,送入监狱”。如果该同志的年龄大于10岁,并且小于等于18,则输出“你的年
龄也不小了,把你送进少管所”。其他的情况则输出“小孩子,下次注意”;
代码如下:
$age=34;
if($age>18){
echo'你要被送进监狱';
}else if($age>10 && $age<=18){
echo'送入少管所';
}else{
echo'下次注意';
}
echo 'over';
流程分析图:
switch 分支语句
基本的语法结构
switch(表达式){
case 常量1;
//n多语句;
break;
case 常量2;
//n多语句;
break;
defual:
//n多语句;
break;
}
☞请注意:
1.case 语句有一到多
2.defual 语句可以没有(根据自己代码的业务逻辑)
3.通常,在case语句后,要带break,表示退胡switch语句。
4.常量的类型(int,float,字符串。布尔型)
快速入门案例:
请编写一个程序,该程序
可以接收一个字符,比如:a,b,c,d,e,f,g
a表示星期一,b表示星期二...根据用户的输入显示相依的信息,要求使用switch语句完成
$myChar="b";
switch($myChar){
case"a":
echo'今天星期一,猴子穿新衣';
case"b":
echo'今天星期二,猴子当小二';
case"c":
echo'今天星期三,猴子爬雪山';
default:
echo'没有匹配的日期';
}
echo 'okokook';
一个案例:
$i=11;
switch($i){
case 10:
echo'10';
case 1.3:
echo'11';
break;
default:
echo'hello';
break;
case 11:
echo'12';
break;
}
该案例得出了一个结论:
最终的结论是:首先按照case 顺序进行配置,如果一个都没有匹配到,则执行default 语句的
内容,知道遇到break,则退出switch
学生的问题:老师,说一下if语句和switch 的区别,及应用场景。
回答:从我们学习if 和switch 分支看,if 对某个范围的判断,而switch 是对一个点的判断, 所有我们可以这样去选择他们:
应用场景:当我们的分支就是几个点的时候(比如判断坦克的方向),就应当使用switch,如果你的分支是几个区域(范围)的判断,则考虑使用if
③ 循环控制流程
首先说for 循环控制
基本语法结构
for(循环初值;循环的条件;步长){
//n多语句;
}
为什么需要控制循环控制?
问题:请输出900000000句,”你好,北京“
这样一问题:怎让让我们的某段代码,循环的执行
分析图
for($i=0;$i<2;$i++){
echo'
你好,北京';
}
echo"over";
内存图:
while 循环
基本语法结构是
while(循环条件){
//循环体,语句
}
案例:使用while 来打印 10句“你好 北京”;
代码:
//*******while 循环*******
$i=0;//$i循环控制变量
while($i<10){
echo'
你好 北京'.$i;
//这里我们对循环控制变量,自增。
$i++;
}
流程分析图:
do....while 循环控制
基本语法结构
do{
//循环体
}while(循环条件);
快速入门:循环的显示 10句,“你好 北京”;
$i=0;//循环控制变量
do{
echo'
dowhile 你好北京'.$i;
//对循环控制变量修改
$i++;//这里有程序员自己控制步长
}while($i<10);
执行的流程图:
综合案例:
要求:
请使用循环控制语句,输出一个空心的菱形
*
* *
* *
* *
*
但是这个菱形的层数可以灵活的变化。
比较困难-----------》》简单化
----->
案例如下:
//打印出金字塔的一半
//死去活来
//外层的for循环控制层数
for($i=1;$i<=3;$i++){
//内层控制每层*的个数
for($j=1;$j
echo'*';
}
echo '
';
}
//打印出整个金字塔
//如果打印3层
//* * -》1 2个空格 1个*(1-1)*+1=1
//** *** -》2 1个空格 3个* (2-1)*2+1=3
//*** ***** -》3 0 个空格 5个* (3-1)*2+1=5
$n=20;
for($i=1;$i<=$n;$++){
// 在打印*前,先打印空格
for($j=1;$j<=($i-1)*2+1;$j++){
echo'*';
}
echo'
';
}
请大家打印出一个空心金字塔
*
* *
****
思路:
我们可以这样考虑,在给每行输出*号的时候,要有判断,(该给*号给*号,该给空格给空格)
思路肯定分析:
和一个空心的菱形。
①②③④⑤⑥⑦⑧⑨⑩