php入門-語言結構語句

PHP-順序結構

順序結構就像一條直線,按著順序一直往下執行。我們編寫的代碼默認都是按照順序結構執行的。

<?php
    $shoesPrice = 49; //鞋子單價
    $shoesNum = 1; //鞋子數量
    $shoesMoney = $shoesPrice * $shoesNum;

    $shirtPrice = 99; //襯衣單價
    $shirtNum = 2; //襯衣數量
    $shirtMoney = $shirtPrice * $shirtNum;

    $orderMoney = $shoesMoney +  $shirtMoney;

    echo $orderMoney ;
?>
//247

PHP條件結構之if…else…

條件結構就像一個岔路口,可以向左走,也可以向右走。比如上洗手間,我們知道我們的性別,這時候我們需要根據洗手間提供的條件,左邊男洗手間,右邊女洗手間,或者正好相反,其中性別就是這個條件結構的條件。再比如,現在的分數都流行使用A、B、C來分級,假設考試成績是93分,可以將其設置為等級A,考試成績是87,可以將其設置為等級B,這里分數區間即為條件結構中的條件。

<?php
    date_default_timezone_set('Asia/ShangHai');
    $today = date('m-d',time());//獲取當天日期
    $birthday = "09-22";//生日
    $money = 238;//消費金額
    $discount = 0.8;//八折優惠
    if($today == $birthday){
        $money = $money * $discount;
    }else{
        $money = $money * 1;
    }
    echo $today."<br />";
    echo $money;
?>
/*02-13
238*/

PHP條件結構之if…else if…

<?php
    $totalMoney = 0;//總工資
    $basicMoney =  2000;//基本工資
    $sex = "男";

    if($sex == "男"){
        $totalMoney = $basicMoney  + 0;// 男的沒獎金
    }else if($sex == "女"){
        $totalMoney = $basicMoney  + 300;// 女的有獎金300元
    }
    echo $totalMoney;
?>
//2000

PHP條件結構之if…else if…else…

<?php
date_default_timezone_set('asia/shanghai');
$week = date("w");//獲取當天星期幾
$info = "";//提示信息
if($week == 1){
    $info = "上午有課";
}else if($week == 3){
    $info = "下午有課";  
}else{
    $info = "今天沒課";
}
echo $info; //輸出提示信息
?>
//上午有課

PHP條件結構之switch…case…

首先判斷條件,若條件的返回值為條件值一,則執行任務一,若條件返回的值為條件值二,則執行任務二,若條件的返回值既不是條件值一也不是條件值二,則執行默認任務。break的作用是結束switch(后面會有專門舉例說明),使用 switch 語句可以避免冗長的 “if..else if..else”代碼塊。

<?php
$num = rand(1,4);//獲取1至50的隨機數
$info = "";//提示信息
switch($num){
    case 1:
        $info = "恭喜你!中了一等獎!";
        break;
    case 2:
        $info = "恭喜你!中了二等獎!";
        break;
    case 3:
        $info = "恭喜你!中了三等獎!";
        break;
    default:
        $info = "很遺憾!你沒有中獎!";
}
 echo $info."<br><br>"; //輸出是否中獎
 echo '<a href="#" onClick="document.location.reload()">重新抽獎</a>';
?>

PHP條件結構之switch…case…中的break

break的作用是阻止代碼進入下一個case 中繼續執行。

<?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 />";
?>
/*A例子的值是:20
B例子的值是:40
case的意思是,符合條件,就從這一行開始執行;
所以,如果num=2, A就從case2開始執行,10+10,再執行break,就結束了,就是20;
B就從case2開始執行,10+10,之后繼續執行28行的case3,和defalult,,所以就是10+10+10+19=40;
*/

PHP中循環結構之while循環語句

循環結構就像一圈圈地跑足球場,跑完一圈再跑一圈。也就是說,在符合的條件下,重復執行某項任務。像400米一圈的跑道,跑800米的話就跑2圈,當跑完第一圈接著跑第二圈,第二圈結束已經達到800米,終止跑步

<?php
$sum = 12;//小寵物當前的饑餓程度
echo "我餓啦:-(";
echo "<br />";
while($sum<100)
{//小寵物的饑餓程度到100,表示小寵物吃飽啦,不用繼續喂了,沒吃飽繼續喂食
    $num = rand(1,20);//隨機數,模擬喂食小寵物的小面包
    $sum = $sum + $num; //小寵物吃小面包
    if($sum<=100){
        echo "恢復了<b>".$num."</b>點饑餓值"."<br/>";
        echo "當前饑餓值為<b>".$sum."</b>";
        echo "<br />";
    }else {
        $num=$num-($sum-100);
        echo "恢復了<b>".$num."</b>點饑餓值"."<br/>";
        echo "當前饑餓值為<b>"."1000"."</b>";
        echo "<br />";
    }
}
echo "終于吃飽啦^_^";
?>

PHP中循環結構之do while循環語句

在PHP中循環語句還有另一種:do...while循環語句語法如下:

<?php
do{ 
     //執行任務
}while(條件)
?>

首先執行任務(上一節的while語句是先判斷條件是否成立,再執行任務),執行任務完畢,判斷某個條件是否符合(條件返回值是否為TRUE),若符合則再次執行任務,執行完畢任務,繼續判定條件。

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

PHP中循環結構之while與do…while語句的區別

while與do…while循環語句的區別是,while先判斷條件是否成立,后執行循環,do...while先執行一次任務,再判斷是否繼續執行循環,也就是說do...while至少會執行一次任務。當條件為FALSE時,while中的任務會一次也不執行,do...while中的任務會執行1次。

<?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 />";
?>

PHP中循環結構之for循環語句

在PHP中還有一種循環語句,for循環語句結構如下:

<?php
for(初始化;循環條件;遞增項){
      //執行任務
}
?>

for 語句中,“初始化”在循環開始前無條件求值一次,“循環條件”在每次循環開始前求值。如果值為 TRUE,則繼續循環,執行循環體語句(執行任務)。如果值為 FALSE,則終止循環。“遞增項”在每次循環之后被求值(執行)。其常用于循環執行代碼塊指定的次數。

<?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 下標 => 值){
 //執行的任務
}
?>
<?php
$students = array(
'2010'=>'令狐沖',
'2011'=>'林平之',
'2012'=>'曲洋',
'2013'=>'任盈盈',
'2014'=>'向問天',
'2015'=>'任我行',
'2016'=>'沖虛',
'2017'=>'方正',
'2018'=>'岳不群',
'2019'=>'寧中則',
);//10個學生的學號和姓名,用數組存儲

//使用循環結構遍歷數組,獲取學號和姓名  

foreach($students as  $v){ 
    echo $v;//輸出(打印)姓名
    echo "<br />";
}
?>

PHP中循環結構之foreach循環語句(二)

<?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中結構嵌套之條件嵌套

條件結構嵌套就像回家的路上會遇到多個十字路口。

<?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中結構嵌套之循環嵌套

循環結構嵌套,就是類似于跑多個足球場,例如假設有兩個足球場,一個大足球場,一個小足球場,在大足球場跑一圈后,再到小足球場跑幾圈,跑完幾圈后,再到大足球場中繼續跑。在遍歷二維數組中很常用。

<?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中結構嵌套之循環結構與條件結構嵌套

有時候在執行任務時,對于一些特殊的任務還需要進行額外處理,這個時候就會將循環結構與條件結構嵌套使用。

<?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可以做什么 php是一種可以在服務器端運行的編程語言,可以運行在Web服務器端。 php是一門后臺編程語...
    空谷悠閱讀 3,142評論 4 97
  • PHP 學習目錄 ├─PHP視頻教程 1 LAMP網站構建 │ ├─PHP教程 1.1.1 新版視頻形式介紹│ ...
    曹淵說創業閱讀 16,186評論 29 417
  • 旅行團很無聊,全景走馬觀花,用相機記錄卻可以賦予特殊的意義和美感。以為可以跟導游隨心玩,還是要各種負責,上車下車吃...
    舒科舒科舒科閱讀 239評論 0 0
  • 仍要感激,我愛慕過的你,我最難過的日子,都是有你的想象陪我度過的。 一直喜歡的那個人,不知道暗戀算不算戀愛,但我的...
    不忘初心_6e6d閱讀 283評論 0 0
  • 今天下午聽完一個臺灣老師的講座出來狂風大作,沒走幾步雨點就開始下了,在旁邊的一處糕點屋呆了五分鐘看雨點不太急...
    Darli生活藝術家閱讀 374評論 0 1