2022年3月6日 星期日

PHP常用語法說明

  • PHP的語法在HTML是用

<?php

  php程式碼-------

?>

的方式進行程式的編撰,一般編輯器都使用文字編輯器

 

  • echo

輸出一個或多個字符串

例如:都會在網站上輸出Hello world

echo 'Hello world<br>';

echo "Hello world<br>";

echo ('Hello world<br>');

 

也可以用變數來取代

例如:

$string='Hello world';

echo $string;

 

  • 跳脫字元

echo 出單引號與雙引號需要利用跳脫字元「\」將引號跳脫出來,這樣才能 echo 出來

若字串是用單引號包起來,則裡面可以使用雙引號,旦若要使用單引號,則需加上跳脫字元「\

若字串是用雙引號包起來,則裡面可以使用單引號,旦若要使用雙引號,則需加上跳脫字元「\

例如:

echo 'echo 出單引號 : ';

echo ' \' ';

echo '<br>';

echo 'echo 出雙引號 : ';

echo " \" ";

雙引號會把變數取代成變數的值,但是單引號不會

例如:

$str = 'abc';    

echo "Hello! $str"; // 結果 Hello! abc    

echo 'Hello! $str'; // 結果 Hello! $str

單引號的跳脫字元並不會被處理

例如:

echo '\n'; // 結果 \n    

echo '\t'; // 結果 \t

 

  • print

輸出一個或多個字符串,基本功能同echo

 

  • print_r

輸出陣列(Array)

print_r PHP 內建的基本函數,用來一次輸出整個陣列內容

例如:

$fruit = array('apple','banana','orange','melon');

print_r($fruit);

和下面的輸出一致

$fruit = array('apple','banana','orange','melon');

foreach ($fruit as $value) {

  echo $value;

}

 

  • 註解

程式備忘、註解掉不需要的程式碼片段、程式片段說明

PHP 的單行註解是用雙斜線符號「//」或井字號「#

PHP 的多行註解是開頭使用斜線加星號「/*」,結尾使用星號加斜線「*/

例如:

echo 'Test comments'; //從這開始是註解說明

echo 'Test comments'; #從這開始是註解說明

echo 'Oh my god';  /* 這行會被echo出來文字「Oh my god*/

 

  • 變數的用法

PHP 設定變數的方式很簡單,由錢字號($)開始,後面接著變數名稱,名稱有大小寫之分。「第一個字元」不能是數字。

例如:

$test=123; //設定變數test為數字123

$test=3.14159;  //設定變數test為浮點數3.14159

$test=true;     //設定變數test為布林值

$test="hello world";  //設定變數test為字串 hello world

$test='<a href="xxx.php">連結</a>';   //設定變數testHTML的超連結內容

$test="<a href=\"xxx.php\">連結</a>";  //設定變數testHTML的超連結內容,裡面若使用相同的引號需加跳脫字元

$a='click this '.$test;    //設定a變數的結果為字串加上$test變數的內容

 

  • 比較運算子與邏輯運算子

 

運算子

範例

說明

==

$a==$b

a等於b

===

$a===$b

a等於b,且資料形態相同

!=
<>

$a!=$b
$a<>$b

a不等於b,範例2種皆可使用

!==

$a!==$b

a不等於b或資料形態不同

> 

$a>$b

a大於b

>=

$a>=$b

a大於等於b

< 

$a<$b

a小於b

<=

$a<=$b

a小於等於b

運算子

範例

說明

&&
and

$a==$b && $a==$c
$a==$b and $a==$c

a等於b a等於c

||
or

$a==$b || $a==$c
$a==$b or $a==$c

a等於b a等於c

!

!$a

a不為true

xor

$a xor b

ab 只有一個為true

 

  • 陣列的用法

PHP 設定陣列的方式很簡單,設定一個變數為陣列(array)即可使用。

若沒有指定索引的陣列則索引值會依序從0開始

例如:宣告變數$test為陣列,裡面輸入了abc三個字串

$test=array('a','b','c');

//或是先將變數宣告成陣列再放入值

$test=array();

$test[]='a';

$test[]='b';

$test[]='c';

//或是依序指定索引值放入

$test=array();

$test[0]='a';

$test[1]='b';

$test[2]='c';

//將陣列內容印出

echo $test[0];  //印出a

echo $test[1];  //印出b

echo $test[2];  //印出c

可以自訂索引來取得對應的值比較方便

例如:宣告變數$fruit為陣列,裡面輸入了三種水果的中文和翻譯

$fruit=array(

'蘋果'=>'apple',

'香蕉'=>'banana',

'紅莓'=>'cranberry'

);

//或是先將變數宣告成陣列再放入值

$fruit=array();

$fruit['蘋果']='apple';

$fruit['香蕉']='banana';

$fruit['紅莓']='cranberry';

//將陣列內容印出

echo $fruit['蘋果'];  //印出apple

echo $fruit['香蕉'];  //印出banana

echo $fruit['紅莓'];  //印出cranberry

//依序印出全部的索引和值

foreach ($data as $key=>$value){

  echo $key.'='.$value;  //印出 蘋果=apple…依此類推

}

 

  • If…else邏輯判斷式

例如:以下輸入結果為a為真

$a=true;

if ($a){echo 'a為真';}

if (!$a){echo 'a為假';}else{echo 'a為真';}

 

例如:下面的例子會輸出a+b大於等於3

$a=1;$b=2;

if ($a+$b>=3){echo 'a+b大於等於3';}

if ($a+$b<3){echo 'a+b小於3';}else{echo 'a+b大於等於3';}

 

多條件判斷可以加上elseif

例如:下面的例子可以輸出c大於2

$a=1;$b=2;$c=3;

if ($a>1){echo 'a大於1';}

elseif ($b>2){echo 'b大於2';}

elseif ($c>2){echo 'c大於2';}

else{ echo '條件皆不成立';}

 

 

  • switch…case 條件選擇

用法類似C++,記得每一個敍述都要有break; 執行完後該段敍述才會跳出

例如:

switch ($i) {

    case "apple":

        echo "i is apple";

        break;

    case "bar":

        echo "i is bar";

        break;

    case "cake":

        echo "i is cake";

        break;

    default:

        echo "unknown";

        break;

}

 

 

  • for迴圈

例如:印出01234

for ( $i=0 ; $i<5 ; $i++ ) {

 echo $i;

}

若中途需要跳出可以用break;

例如:

for ( $i=5 ; $i>0 ; $i-- ) {

  echo $i;

  if ($i==3){ break; }

}

//執行完的結果會印出543

可以利用count來取得陣列大小內容

例如:

$arr=array('a','b','c','d');

for ( $i=0 ; $i<count($arr) ; $i++ ) {

 echo $arr[$i];

}

//執行完結果會印出abcd

  

  • foreach迴圈

用來索引陣列資料結構

例如:兩者的差別在於 $key 的變數會是索引值(0開始的數字),若無抓取的需求,則使用第一種即可

$arr = array("one", "two", "three");

foreach ($arr as $value){echo $value;}

foreach ($arr as $key => $value){echo $value;}

例如:自定義索引值

$arr = array("A"=>"one", "B"=>"two", "C"=>"three");

foreach ($arr as $key => $value){

  if ($key=="A" || $key=="B"){echo $value;}

}

//此範例只會印出 one two

 

  • while迴圈

設定條件,不明確迴圈次數時使用

例如:印出1-10的數字

$i = 1;

while ($i <= 10) {

    echo $i;

    $i++;

}

另外也可也用後測式,前面加上do

例如:以下範例會印出1~5的數字

$i = 1;

do {

    echo $i;

    $i++;

} while ($i <= 5);

 


沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。