iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 6
2
Software Development

後端基礎PHP+Mysql & Laravel 30日養成計畫系列 第 6

Day 6 PHP基礎語法(一):Hello world與基本資料型態

終於要進入正式的PHP語法教學啦/images/emoticon/emoticon07.gif
首先要先來認識這個標籤:

<?php
[程式碼]
?> 

這是PHP的標籤。第一篇曾說過,PHP可嵌入在HTML語法中來運行。而上面這個標籤就是用來將PHP與HTML語法區分開的。而如果你的Script中只有純php語法的話,那麼只需要有開頭的<?php就好,結尾的?>可省略。

變數與基本資料型態

變數顧名思義就是會一直變來變去的東西,在PHP中的變數有8中資料型態:

  • 標量型別
  1. 布林值(boolean),只有1或0,表示TRUE或FALSE
  2. 整數(interger),PHP的整數範圍為-2147483648 ~ 2147483647
  3. 浮點數 (float),例如 $flaot = 1.23
  4. 字串 (string),例如'hello world'
  • 複合型別 (後面會再詳細介紹)
  1. 物件 (object)
  2. 陣列 (array)
  • 特別型別
  1. 資源 (resorce)
  2. 空值 (NULL)

由於PHP示弱型別的語言,因此在宣告變數時,我們不用先表明他的資料型態,只要在變數名稱前加上$就行了。
而宣告一個整數變數的方法如下:

$var = 1;

顯示資料

按照慣例,學習一個新的程式語言似乎不免都要從顯示出Hello World這個字串開始,
php是以echo作為顯示字串的函式。

echo "hello world";
 Output:
 hello world

" "裡放的是字串,你可能也有看過這種寫法:

echo 'hello world';

" " 和' '的差別就在於,若將變數和函式放在雙引號中,編譯器會將這些變數與函式辨識出來;而放在單引號中的話,則會全部被視為字符。
例如:

$var = 100;
echo "your score is $var .";
 Output:
 your score is 100 .
$var = 100;
echo 'your score is $var .';
 Output:
 your score is $var .

另外有個debug很好用的函式叫var_dump(),他能把變數的型態和值都顯示出來。

$num = 15;
$sentence = 'gogogo';
var_dump($num);
var_dump($sentence);

Output:

int(15)
string(6) "gogogo"

dd()也有類似功能,但若使用dd(),程式會在執行完這行之後終止。

執行程式

最基本的php檔執行方法就是在terminal執行。
先在terminal創立一個名叫index.php的檔案:

$touch index.php

可以直接下vim這個指令編輯檔案,或用你慣用的IDE或編輯器來編輯:

$vim index.php
<?php
echo "hello world\n"; //:'\n'是換行符號

按esc跳出編輯模式,輸入:wq存檔並離開vim。
接著輸入這行指令:

$php index.php

就能在terminal看到如下的程式碼執行結果了。
https://ithelp.ithome.com.tw/upload/images/20190921/20120024lLza42fIGk.png

注意事項

新手的常犯錯誤或必須注意的有以下幾點:

  1. 編寫程式碼所用到的數字、英文字母或其他符號必須用"半形"
  2. PHP每行程式碼尾巴都要加上';'表示結尾
  3. '//'是註解的意思,放在斜線後的都會被視為註解而不會被執行
  4. 命名變數時不要用中文或保留字來命名,也不要以數字作為開頭
  5. 承上,變數的命名盡量要具有意義,如果用abc、xyz等作為變數名稱,不僅會破壞程式碼的可讀性,甚至容易被自己亂設的變數名稱搞混。

保留字:PHP 所定義的一些具有特殊意義及特定功能的文字,如if、while、echo...等
PHP官方網站保留字列表:https://www.php.net/manual/en/reserved.keywords.php


上一篇
Day 5 工欲善其事,必先利其器:介紹好用的IDE&編輯器
下一篇
Day 7 PHP基礎語法(二) :流程控制──if、else判斷式與迴圈
系列文
後端基礎PHP+Mysql & Laravel 30日養成計畫36

尚未有邦友留言

立即登入留言