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/>';
}

請你們打印出一個空心金字塔


       *

      * *

     ****

思路:

    咱們能夠這樣考慮,在給每行輸出*號的時候,要有判斷,(該給*號給*號,該給空格給空格)

            思路確定分析:

和一個空心的菱形。




相關文章
相關標籤/搜索