php基本语法

-》php基本语法-三元运算符php

基本语法 程序员

表达式1?表达式2:表达式3学习

规则:若是表达式1的结果是true,则取表达式 2的值。不然,取表达式3的值。spa

举例:code

<?php
   $a=90;
   $b=180;
   $c=$a>$b?(12-10):"hello,world";
   echo 'c=='.$c;
?>

-》php 的字符串运算符orm

案例:对象

<?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'<br/>程序结束';

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'<br/>你好,北京';

        }

        echo"over";


        

内存图:

  • while 循环

    基本语法结构是

    while(循环条件){

          //循环体,语句

    }

案例:使用while 来打印 10句“你好 北京”;

代码:

//*******while 循环*******
        $i=0;//$i循环控制变量
        while($i<10){
                 echo'<br/> 你好 北京'.$i;
                //这里咱们对循环控制变量,自增。
                 $i++;
         }

流程分析图:

  • do....while 循环控制

    基本语法结构

    do{

         //循环体

    }while(循环条件);

    快速入门:循环的显示 10句,“你好 北京”;

$i=0;//循环控制变量
do{
    echo'<br/> dowhile 你好北京'.$i;
    //对循环控制变量修改
    $i++;//这里有程序员本身控制步长
}while($i<10);

执行的流程图:

综合案例:

要求:

请使用循环控制语句,输出一个空心的菱形

 

         *

        * *

       *  *

        * *

         *

可是这个菱形的层数能够灵活的变化。

比较困难-----------》》简单化

<------

----->

案例以下:

//打印出金字塔的一半

//死去活来

//外层的for循环控制层数

for($i=1;$i<=3;$i++){
   //内层控制每层*的个数
   for($j=1;$j<$i;$j++){
       echo'*';
   }
   echo '<br/>';
}

//打印出整个金字塔

//若是打印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'<br/>';
}

请你们打印出一个空心金字塔


       *

      * *

     ****

思路:

    咱们能够这样考虑,在给每行输出*号的时候,要有判断,(该给*号给*号,该给空格给空格)

            思路确定分析:

和一个空心的菱形。




相关文章
相关标签/搜索