Php 語法筆記,後端語言。
介紹
Php 是一種通用開源腳本語言。語法吸收了 C 語言、Java 和 Perl 的特點,利於學習,使用廣泛,主要適用於 Web 開發領域。PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創的語法。它可以比 CGI 或者 Perl 更快速地執行動態網頁。用 PHP 做出的動態頁面與其他的程式語言相比,PHP 是將程序嵌入到 HTML 文檔中去執行,執行效率比完全生成 HTML 標記的 CGI 要高許多;PHP 還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。
php 在網站後端中
語法
echo 輸出字串(String)
常常有人將 echo 誤以為是一個函數,其實 echo 並不是 PHP 函數,而是一個語言結構(language construct)
使用 echo
的時候並不一定需要用小括號,可以直接使用單引號、雙引號。
PS : PHP echo 並非是一個函數。
輸出的是變數,則不能使用單引號,否則
PHP
會將 單引號的內容當成字串直接輸出 ,而不是輸出變數內容。
EX1:
1 | <?php |
- 結果如下 :
測試一
測試二
測試三
EX2 (以變數方式):
1 | <?php |
- 結果如下 :
PHP test.
PS : 上述說到單雙引號區別
此例子可加上雙引號寫成echo "$test"
,輸出皆相同。
若加上單引號echo '$test'
,則輸出為$test
而非變數內容。
echo vs print
用法與 echo 類似,嚴格來說 PHP print 本身並不是一個 PHP 函式,執行 效率比 echo 稍微慢一點點,處理程序單純的情況下,兩者差異其實並不大,PHP print 可以用單引號輸出單純的字串,也可以用雙引號輸出變數值。
php加用法
使用.
連接起來(字串,變數),+
與其他語言不大相同。
EX1:
1 | <?php |
- 結果如下 :
hello 大家!
今年是 2021 年
今天是 2021-09-21 日
php註解
註解範例
單一 : 兩個斜線
//
開始,斜線後方就是註解。
多筆 : 斜線加上星號如/*
,結尾是星號加上斜線如*/
。
1 | <?php |
php變數命名
PHP 變數有許多種不同的型態,例如常見的字串變數 String、整數變數 Integer、浮點數 Float、布林值 Boolean、陣列 Array、物件 Object … 等。
範例:
1 | <?php |
命名規則
前方都必須美金符號($)做開頭。
變數名稱英文字母、數字、底線與十六進位制或符號
_
。變數的第一個字母不可以用數字開頭。
英文大小寫為不同。
字串(string)相關函數
想要加入特殊符號在字串中,在符號前加上\
。
取得字串長度 strlen()
範例:
1 | <?php |
- 結果如下 :
字串長度 5
字串長度 8
PS : 中文字一個字算三。
這邊改成
範例:
1 | <?php |
- 結果如下 :
字串長度 5
字串長度 4
PS : mb_strlen
第一個參數string 是要計算長度的字串,必要項目,而第二個參數 string encoding 則是要判斷的編碼,使用萬國碼就用 utf-8。
取得字串內容 substr()
範例:
1 | <?php |
- 結果如下 :
he
worl
ld
hello worl
PS : substr( $string , $start , $length )
$strting 是原始的字串,$start 是要開始擷取的位置,$length 則為要截取的字串長度。$start 與 $length
必須為數字才有作用,可為正負整數。
中文改成
範例:
1 | <?php |
- 結果如下 :
今天
布林(boolean)
var_dump
印出變數的相關訊息於螢幕上,變數的值或是變數的種類,也能一次處理多個變數的功能。
範例:
1 | <?php |
- 結果如下 :
test : bool(true)
test2 : bool(false)
test : 1
test2 :
string(2) “hi” int(1) float(2.5)
PS : PHP 會把 true 轉成 1,遇到 false 會轉成空字串(“”)。
常數(constant)
一個常量一旦被定義,就不能再改變或者取消定義。
常量只能包含標量資料(boolean,integer,float 和 string),不能是表示式。
PS : 指定其名字來取得常量的值,與變數不同,不應該在常量前面加上 $ 符號。
PHP 5.3.0 之前可以用
define()
函式來定義常量。
PHP 5.3.0 以後,可以使用
const
關鍵字在類定義的外部定義常量。
範例:
1 | <?php |
- 結果如下 :
100
100
你好嗎?
你好嗎?
A
空值(NULL)
判斷變數是否為空。
- 它被賦值為
NULL
。 - 它還沒有賦值。
- 它未定義,相當於 unset(),將一個變數 unset()後,不就是沒有定義嗎。
is_null
功能:檢測變數是否為null。
範例:
1 | <?php |
- 結果如下 :
a 為 :1
b 為 :1
c 為 :
d 為 :
NULL
NULL
int(0)
string(1) “ “
共同比較 empty()
vs isset()
isset()
- 它並不會判斷變數是否為空,並且可以用來判斷陣列中元素是否被定義過
範例:
1 | <?php |
- 結果如下 :
a is 1 //true
b is //false
empty()
- 任何一個未初始化的變數、值為 0 或 false 或 空字串或 null 的變數、空陣列、
沒有任何屬性的物件,都將判斷為empty==true
。
ps : 未初始化的變數也能被 empty
檢測為空,empty 只能檢測變數,而不能檢測語句。
範例:
1 |
|
- 結果如下 :
//all true
a is 1
b is 1
c is 1
d is 1
e is 1
f is 1
下方連結為整理比較圖表 :
點選連結
陣列(array))
Array 陣列函數是相當常用到的函數,你可以把 Array 當成一個用來儲存多數値的一個變數,當然 Array 本身其實是個函數,在你安裝好 PHP 的時候就已經內建了。
陣列的架構可以是單純的數個値,也可以是由 key
與 value
的搭配。
count()
陣列計算共有多少數。
範例:
1 | $a = ["apple","orange","lemon","banana","papaya"]; |
- 結果如下 :
a is apple
a is orange
a is lemon
a is banana
a is papaya
5
animal1 cat
animal2 duck
animal3 zebera
al1 cat
al2 dog
al3 duck
範例 2 Associative Arrays (key&value):
1 | $a=array("Banana"=>"香蕉", |
- 結果如下 :
香蕉
蘋果
範例 3 Apply:
parse_url
解析 URL,返回其組成部分。
解析一個 URL 並返回一個關聯陣列,包含在 URL 中出現的各種組成部分。
本函式不是用來驗證給定 URL 的合法性的,只是將其分解為下面列出的部分。不完整的 URL 也被接受,也會嘗試儘量正確地將其解析。
1 |
|
- 結果如下 :
Array
(
[scheme] => https
[host] => tady0725.github.io
[path] => /tadyweb/
)
tady0725.github.io
Multidimensional Arrays
範例:
1 | <?php |
- 結果如下 :
array(3) {
[0]=>
string(5) “Volvo”
[1]=>
int(22)
[2]=>
int(18)
}
Volvo
算術符號
$a =4 ,$b =10
數學運算符 | 範例 | 範例結果 |
---|---|---|
+(加) | $a + $b | 10+4 的結果:14 |
-(減) | $a - $b | 10-4 的結果:6 |
*(乘) | $a * $b | 10*4 的結果:40 |
/(除) | $a / $b | 10/4 的結果:2.5 |
%(求餘數) | $a % $b | 10%4 的結果:2 |
**指數 | $a ** $b | 10**4 的結果:10000 |
Comparison Operators
比較運算符 | 解釋 |
---|---|
$a == $b | 值相等時,才為真 |
$a === $b | 值以及資料形態都相等才為真 |
$a != $b | 值不相等時,才為真 |
$a <> $b | 值不相等時,才為真 |
$a !== $b | 值或資料形態不相等時才為真 |
$a < $b or $a>$b | (大,小)於才為真 |
$a <= $b or $a>=$b | (大,小)等於才為真 |
logical Operator
ex: $a =true ,$b =false;
邏輯運算符 | 解釋 |
---|---|
$a && $b | 為and $a and $b 皆為true 才是true。 |
$a || $b | 為or $a and $b 其中一個為true,就是true。 |
! ($a && $b) | 判別正確答案相反 。 |
Assignment(string)
字串指派
範例:
1 | <?php |
- 結果如下 :
2020-01-01John
switch 用法
範例:
1 | <?php |
- 結果如下 :
80~90
條件判斷&迴圈
if && else 寫法
1 | <?php |
- 結果如下 :
真
-————
真
真
for loop 和 break+continue 用法
continue
: 控制程式放棄本次迴圈continue語句之後的程式碼並轉而進行下一次迴圈。continue 本身並不跳出迴圈結構,只是放棄這一次迴圈。
break
: 跳出當前的語法結構,執行下面的語句。
1 | <?php |
- 結果如下 :
星期日
星期一
foreach 用法
foreach
循環的目的是定義用途,它專門遍歷數組數據結構的元素。
array
1 | <?php |
- 結果如下 :
值 1
值 2
值 3
值 4
值 5
值 6
值 7
值 8
值 9
Associative Arrays
1 | <?php |
- 結果如下 :
名子 Peter 35 歲
名子 Ben 37 歲
名子 Joe 43 歲
名子 Jhon 53 歲
名子 Jay 73 歲
while, do-while loop
while
1 | $array =[1,2,3,4,5,6,7,8,9]; |
- 結果如下 :
1
2
3
4
5
6
7
8
9
do-while
1 | $array =[1,2,3,4,5,6,7,8,9]; |
- 結果如下 :
do while 1
do while 2
do while 3
do while 4
do while 5
do while 6
do while 7
do while 8
do while 9
自定義功能(function)
Return 返回值
1 | // 一般function |
- 結果如下 :
你好
你好 ㄚ
Parameter 參數
1 | function test($name) |
- 結果如下 :
你好 james
你是誰?
參考網站
如果您喜歡我的文章,請幫我按五下 ,感謝大家。