網頁

2017年3月31日 星期五

PHP 語法入門-1~echo & print 顯示、印出

echo & print 差別:
PHP echo 指令及 print :將資料在螢幕上顯示出來(echo 速度比 print 快),指令在輸出後,不會有任何返回的值(請將範例貼入自己本機內測試)。
echo '哈囉!小妹看過來!';
echo "哈囉!小妹看過來!"; //可以帶入變數,需利用空格隔開
print '哈囉!小妹看過來!';
print "哈囉!小妹看過來!"; //可以帶入變數,需利用空格隔開

上方例子當中,被單引號 ' .... ' 或雙引號 " .... " 內所包住的文字,稱為字串。
如上面範例指令,直接輸出字串是最典型直覺性的使用方法,經常在 php 程式中見到。

請注意單引號與雙引號最大的差別在於:

雙引號" " 內若有變數,則使用 echo 印出指令時,會將變數帶入裡頭(變數與其他字元須用空白隔開)。

單引號 ' ' 則不會帶入變數值。
=======================================================
下面是正規的寫法:

<?php
$a = '小明';//設定 變數a 為 小明
$b = '小華';//設定 變數b 為 小華
//正規方法一
echo "{$a}與{$b}是好朋友";//把變數用{} 大括號包起來
echo '<br />';
//方法二
echo $a;
echo '與';
echo $b;
echo '是好朋友';
//上述語句顯的非常繁雜 且重覆太多echo ,因此 可使用 . 這個符號 將字串連結起來
//正規方法二
echo $a.'與'.$b.'是好朋友';
=======================================================
當雙引號內(" ")想要印出 " 此符號時該怎麼辦?答:請在特殊字串前面加上 \ 此反斜線符號
實際範例:
<?php
//字串內有特殊符號  在特殊符號前加上 \ 反斜線即可
echo "曾有一名男子的身分證字號中有\"六五一\",他自認和閩南語\"瘤無醫\"相同,而他真得長了腫瘤,並提出就醫證明,戶政所就同意他改\"身份證字號\"。";
echo '<br />';
echo '曾有一名男子的身分證字號中有 \'六五一\' ,他自認和閩南語 \'瘤無醫\' 相同,而他真得長了腫瘤,並提出就醫證明,戶政所就同意他改 \'身份證字號。\' ';

=======================================================
再來假設有一HTML 網頁,語法如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>台東大學最美的學生</title>
</head>

<body>
<img alt="台東大學最美的學生" src="//www.nttu.edu.tw/image/20170329/001.jpg">
<img alt="台東大學最美的學生" src="//www.nttu.edu.tw/image/20170329/002.jpg">
</body>
</html>

那麼要如何寫成 PHP 呢? 寫法如下:

第一種:直接原文寫入
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>台東大學最美的學生</title>
</head>

<body>
<?php
echo '<img alt="台東大學最美的學生" src="//www.nttu.edu.tw/image/20170329/001.jpg">';
echo '<img alt="台東大學最美的學生" src="//www.nttu.edu.tw/image/20170329/002.jpg">';
?>
</body>
</html>

*****

第二種:使用參數值,頁面可直接隨參數改變而做變化:
<?php
//設定圖片變數
$img_a = 'http://www.nttu.edu.tw/image/20170329/001.jpg';
$img_b = 'http://www.nttu.edu.tw/image/20170329/001.jpg';
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>台東大學最美的學生</title>
</head>

<body>

<img alt="台東大學最美的學生" src="<?php echo $img_a;?>">
<img alt="台東大學最美的學生" src="<?php echo $img_b;?>">

//也可寫成 <img alt="台東大學最美的學生" src="<?=$img_a;?>">
//也可寫成 <img alt="台東大學最美的學生" src="<?=$img_b;?>">

</body>
</html>

上面的第二例子,有時候你會發現有些程式內會用「短代碼」的方式,把 <?php echo $img_a;?> 直接改成 <?=$img_a;?> 這樣寫法如下:

*****

這叫短代碼,php 5.4版以後已被設定為合法的寫法,因此自php 5.4版後,不管 php.ini 縱使把 short_open_tag 設定成:
short_open_tag = off
上面的 <?=$img_a;?> 寫法,仍然是合法的。

短代碼:原本開頭是 <?php 這樣,直接使用 <? 這樣開頭 省略 php 三個字,是否允許短代碼,決定權在於 php.ini 內的設定(本機位置 C:\AppServ\php5\php.ini),設定法有兩種:
short_open_tag = Off   禁用短代碼
short_open_tag = On          允許短代碼

再來補充一下 . 這個小數點在字串內的作用(不同指令中,此符號會因指令而有不同作用)
在使用 echo 指令時,若要連結字串和其他變數時 ,就是靠這一個 . 小數點符號

<?php
$a = '大雄';$b = '宜靜';
echo '<font color="red">'.$a.'</font>愛慕著<font color="blue">'.$b.'</font>,表達愛意時卻遭到拒絕。<font color="red">'.$a.'</font>傷心的說為什麼?這一切都是為什麼?<font color="blue">'.$b.'</font>膽怯地說:我媽說的,戴大眼鏡的都是功課不好的少年。';

接著再紀錄一些 echo 指令較特殊的使用方法(必須使用雙引號):

echo "\n";//換行
echo "\r";//跳回行首
echo "\v";//垂直Tab
echo "\t";//水平Tab

這指令也許你用瀏覽器直接查看,看不出所以然來,但如果你使用 檢視網頁原始檔 的話,就會發覺它們的作用了,範例如下:
<?php
echo '有隻聰明的八哥,拉牠的左腳會說"你吃飽沒?"';
echo "\n";
echo '拉牠的右腳會說"你有閒嗎?"';
echo '某人突發奇想兩腳一起拉,';
echo "\t";
echo '八哥便很生氣的說……"你是吃飽太閒喔!';

可以試著先把上例寫入你的 PHP 後,用瀏覽器打開此php,檢視原始檔,然後再把第三行 echo "\n" 及 第六行 echo "\t" 註解(//)掉,然後再檢視一次原始碼,就可明白此指令的功能了。

引用資料來源:https://scriptmarks.com/php語法入門二/

沒有留言:

張貼留言

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