iT邦幫忙

2021 iThome 鐵人賽

DAY 3
0
自我挑戰組

PHP 與 Laravel 雜記系列 第 3

PHP 基礎複習

安裝

php官網下載目前最新版本為 8.0, 這裡以 windows 作為開發平台, windows 版本有 NTS(Non Thread safe) 跟 TS(Thread Safe) 兩種版本, 這裡我們選擇 NST 版本, 下載完成後找一個地方解壓縮, 我這裡將解壓至 C:\php 裡, 後續將 php 所在路徑增加到系統變數 path, 使用 command-line 工具, 輸入 php -v 確認是否安裝成功.

PHP 語言基礎

基本語法

當 PHP 解析器解析時會尋找起始標記和結束標記, 也就是 , 這標記告訴解析器開始和停止解析之間的代碼, 這種解析方式讓 PHP 代碼可以被嵌入到各個不同的檔案中, 任何起始標記和結束標記之外的都會被 PHP 解析器忽略, 如果檔案只包含 PHP 代碼, 最好刪除結束標記, 避免意外在結束標記後加入空格或換行導致而外的輸出, 使用 ;(分號)來表示每個語句的結束, 支持 C 語言, C++, Perl 型式的(comments)註解, 單行註解使用 // 或 # 註解到行末, 多行註解使用 C 語言風格 /* */.

類型

支持 10 種原始資料類型, 四個數值(scalar) 類型: bool, int, float, string, 四個複合(compound) 類型: array, object, callable, iterable, 還有兩個特別類型 resource, NULL, 可以使用 var_dump() 函數來看表達式的值與類型, 可以使用 gettype 函數來得到表達式的類型, 要檢驗某一類型則使用 is_xxx 函數, 其中 xxx 是 bool, int 等等, 要將某變數強制轉成某類型, 可以直接使用強制轉換如 (bool)$bar 將變數 $bar 轉成 bool, 或者使用 settype 函數

bool type

可以為 true 或 false, 不區分大小寫, 可以用來搭配控制流程使用, int 0, float 0.0, float -0.0, 空字串, "0", 空 array, 特殊類型 NULL, 空標記生成的 SimpleXML Object 在轉換為 bool 時都是 false, 其餘值都會被轉換成 true.

int type

$a = 123; // 十進制
$a = 0123; // 八進制
$a = 0x1A; // 十六進制
$a = 0b1111; // 二進制
$a = 1_224_567; // PHP 7.4 以後 可以使用底線來增加可讀性 

如果某數值發生 integer overflow, 該數值將被解釋為 float
轉換成 int, 可以使用 intval()將值轉成 int, 將 resource 轉換成 int, 會得到分配於 PHP runtime 的 unique resource number, bool 轉換 true 轉成 1, false 轉成 0, float 轉換 int 會向下取整數, string 轉成 int, 如果該字串是由數字組成或前導是由數字組成會轉成該數值對應的 int 值, 否則會轉成 0, null 轉成 0.

string type

單引號, 除了表達單引號可用轉譯符號(反斜線) 來轉譯外, 其餘使用轉譯符號不會有轉譯效果, 變數也不會轉譯
雙引號, 可以使用轉譯符轉譯特殊字符如 \n 換行, 也會轉譯變數, 變數可以用大括號來明確變數名的界線

array type

PHP 的 array, 其實是一個有序映射, key => value 對, 可用 array() 或 [] 來表達

$array = array (
  "k1" => "abc",
  "k2" => "def"
);

$array = [
  "k1" => "abc",
  "k2" => "def",
];

上一篇
PHP 規範
下一篇
PHP 一些概念
系列文
PHP 與 Laravel 雜記14

尚未有邦友留言

立即登入留言