1. 程式人生 > >PHP之新手自學基礎知識(二)——語法篇

PHP之新手自學基礎知識(二)——語法篇

1.PHP If…Else 語句

條件語句的三種情況:
● if 語句 - 在條件成立時執行程式碼
● if…else 語句 - 在條件成立時執行一塊程式碼,條件不成立時執行另一塊程式碼
● if…elseif….else 語句 - 在若干條件之一成立時執行一個程式碼塊(可以在中間繼續巢狀elseif)

if 語句

語法:

  if (條件)
{
    條件成立時要執行的程式碼;
}

例子:

<?php
$t=18;
if ($t<20)
{
    echo "條件成立";
}
?>

if…else 語句

語法:

if
(條件) { 條件成立時執行的程式碼; } else { 條件不成立時執行的程式碼; }

例子:

<?php
//如果當前時間小於 20,下面的例項將輸出 "Have a good day!",否則輸出 "Have a good night!"
$t=date("H");
if ($t<"20")
{
    echo "Have a good day!";
}
else
{
    echo "Have a good night!";
}
?>

if…elseif….else 語句

語法:

if (條件)
{
if 條件成立時執行的程式碼;
}
elseif
(條件) { elseif 條件成立時執行的程式碼; } else { 條件不成立時執行的程式碼; }

例子:

<?php
$t=18;//
if ($t<10)
{
    echo "t是個小於10的數";
}
elseif ($t<20)
{
    echo "t是個小於20的數";
}
else
{
    echo "t是個大於或等於20的數";
}
?>

2.PHP Switch 語句

switch 語句用於根據多個不同條件執行不同動作。
如果您希望有選擇地執行若干程式碼塊之一,請使用 switch 語句。
語法:

<?php
switch
(x) { case label1: 如果 x=label1,此處程式碼將執行; break; case label2: 如果 x=label2,此處程式碼將執行; break; default: 如果 x 既不等於 label1 也不等於 label2,此處程式碼將執行; } ?>

工作原理:首先對一個簡單的表示式 x(通常是變數)進行一次計算。將表示式的值與結構中每個 case 的值進行比較。如果存在匹配,則執行與 case 關聯的程式碼。程式碼執行後,使用 break 來阻止程式碼跳入下一個 case 中繼續執行。default 語句用於不存在匹配(即沒有 case 為真)時執行。
注意:如果寫漏break會出現以下的情況
● 如果case label1,case label2都漏了 break,會輸出每一條輸出語句
● 如果case label2漏了 break,會輸出之前的所有輸出語句

例子:

<?php
$score=50;
switch($score) 
{
  case $score>=90 && $score<=100:
  echo "優<br>";
  break;
 case $score>=80 && $score<90:
  echo "良<br>";
  break;
 case $score>=70 && $score<80:
  echo "中<br>";
  break;
 case $score>=60 && $score<70:
  echo "及格<br>";
  break;
 case $score>=0 && $score<60:
  echo "不及格<br>";
  break;
 default:
  echo"成績輸入錯誤<br>";
}
?>

3.PHP 迴圈

我們瞭解下PHP都有哪些迴圈,都有什麼特點:
● while - 只要指定條件為真,則迴圈程式碼塊
● do…while - 先執行一次程式碼塊,然後只要指定條件為真則重複迴圈
● for - 迴圈程式碼塊指定次數
● foreach - 遍歷陣列中的每個元素並迴圈程式碼塊
while 迴圈
while 迴圈將重複執行程式碼塊,直到指定的條件不成立。
語法

while (條件為真) {
  要執行的程式碼;
}

例子:

<?php
$i=1;
echo "報數:"."<br>";
while($i<=5)
{
    echo $i . "<br>"; //輸出1 2 3 4 5
    $i++;
}
?>

do…while 迴圈

do…while 語句會至少執行一次程式碼,然後檢查條件,只要條件成立,就會重複進行迴圈。
語法

do {
  要執行的程式碼;
} while (條件為真);

例子:

<?php
$i=1;
echo "報數:"."<br>";
do
{
    echo $i . "<br>";//輸出 1 2 3 4 5 
    $i++;
}
while ($i<=5);
?>

for 迴圈

for 迴圈用於您預先知道指令碼需要執行的次數的情況。
語法

for (初始值; 條件; 增量)
{
    要執行的程式碼;
}

引數:
● 初始值:初始化迴圈計數器的值
● 條件: 評估每個迴圈迭代。如果值為 TRUE,繼續迴圈。如果它的值為 FALSE,迴圈結束。
● 增量:增加迴圈計數器的值
例子:

<?php
for ($i=1; $i<=5; $i++)
{
    echo "The number is " . $i . "<br>";
}
?>

使用for迴圈,實現氣泡排序:

<?php
$arr = array(5,3,6,2,8,10);
for($i = count($arr)-1;$i>=0;$i--){
    for($j = 0 ; $j < $i ; $j++){
        if($arr[$j+1] > $arr[$j] ){
            $aa = $arr[$j+1];
            $arr[$j+1] = $arr[$j];
            $arr[$j] = $aa;
        }
    }
}
print_r($arr);
?>

foreach 迴圈

foreach 迴圈只適用於陣列,並用於遍歷陣列中的每個鍵/值對。
語法

foreach ($array as $value)
{
    要執行程式碼;
}

每進行一次迴圈,當前陣列元素的值就會被賦值給 $value 變數(陣列指標會逐一地移動),在進行下一次迴圈時,您將看到陣列中的下一個值。
例子:

<?php
$x=array("1","2","3");
foreach ($x as $value)
{
    echo $value . "<br>";
}
?>