PHP 快速導覽 - 字面常數




字面常數 (literal) 的意思就是字面上的意義,也就是說, 1234 就代表整數數值一千兩百三十四的意義,因此,所謂的字面常數就是直接寫進 PHP 程式原始碼的數值,依資料型態 (data type) 分類有

  • 布林
  • 整數
  • 浮點數
  • 字串
  • 陣列
  • NULL


布林



布林為邏輯上的真假值, True 就代表邏輯上的「真」, False 則是邏輯上的「假」
$a = True;  // $a 為「真」
$b = False; // $a 為「假」


整數



一般寫不帶小數點的數字就是整數 (integer) ,也可以用 0 開頭表示八進位整數,或 0x 開頭表示十六進位整數
$c = 1234; // 十進位整數
$d = -123; // 十進位負整數
$e = 0123; // 八進位整數,等於 83
$f = 0x1A; // 十六進位整數,等於 26


浮點數



帶小數點的數字就是浮點數 (floating-point number) ,也可以用 eE 表示科學記號
$g = 1.234; // 等於 1.234
$h = 1.2e3; // 等於 1200.0
$i = 7E-3;  // 等於 0.007


字串



字串 (string) 有四種形式,最簡單的是單引號字串,裡頭可以用 \' 表示單引號, \\ 表示斜線
$j = 'John\'s book is on the table.';


雙引號字串可以用更多的跳脫序列 (escape sequence) 或是變數 (variable) ,下面的 $name 為變數而 \n 為新行的跳脫序列
$k = "$name is a good student.\n";


常用的跳脫序列如下列表
跳脫序列的字元功能
\a響鈴
\b倒退鍵
\f跳頁
\n印出新列
\r歸位符號
\ttab 鍵
\v垂直定位符號
\\印出反斜線
\?印出問號
\'印出單引號
\"印出雙引號


另外有 heredoc 與 nowdoc 兩種更複雜的字串, heredoc 類似雙引號字串,但可跨行
$l = <<<"S"
my name is 
$name
Do you see my name?
There is no spoon.
S;


雙引號中的 S 為 heredoc 字串的界線標記,結束的地方同樣要加上 S 。 nowdoc 則是可跨行的單引號字串
$m = <<<"S"
my name is 
$name
Do you see my name?
There is no spoon.
S;


上例 $m 中的 $name 會被當成字元輸出。


Nowdoc 字串從 PHP 5.3.0 以後才可使用。


陣列



陣列 (array) 為 key-value 的配對型態,藉由內建函數 array() 建立,形式如下
$array_name = array(
    key1 => value1,
    key2 => value2,
);


PHP 5.4 以後,可以使用中括弧作為陣列的字面常數,例如
$array_name = [
    key1 => value1,
    key2 => value2,
];


NULL



NULL 就是什麼都沒有的意思,當一個變數被指派為 NULL 之後,該變數等同被清空變成無值
$n = NULL;


中英文術語對照
字面常數literal
資料型態data type
整數integer
浮點數floating-point number
字串string
跳脫序列escape sequence
變數variable
陣列array


您可以繼續參考
基本概念
標記


相關目錄
回 PHP 快速導覽
回 PHP 教材
回首頁


參考資料
http://www.php.net/manual/en/language.types.boolean.php
http://www.php.net/manual/en/language.types.integer.php
http://www.php.net/manual/en/language.types.float.php
http://www.php.net/manual/en/language.types.string.php
http://www.php.net/manual/en/language.types.array.php
http://www.php.net/manual/en/language.types.null.php

1 則留言:

Ling Pang 提到...

在 "布林" 例子中
$b = False; // $a 為「假」
應為
$b = False; // $b 為「假」