iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 8
1
Software Development

新手後端工程師的學習歷程系列 第 8

Day 8 - PHP 基礎語法 part I

tags: 2019鐵人賽 PHP

前言

前幾天講了一堆網頁伺服器的環境設置與各個安裝軟體的解釋,那接下來就要開始回到我們的主題了,既然我們的目標是要透過 PHP語言 來開發後端,那當然還是得稍微看一下 PHP 語法,以下就簡單記錄一下。

PHP 的標籤

<?php //開頭 

?> // 結尾

註解

  1. 單行註解: // 或者 #
  2. 多行註解: /* 開頭,*/ 結尾

	// 單行註解
	
	# 單行註解
	
	/*
		"多行註解
		可以多行註解"
	*/

變數

  1. 變數開頭以 $ 作為宣告
  2. 第一個字元不可以是數字
  3. 英文字母是有大小寫區分
	$myVar = 12;
	$_myVar = 6+12*12; //為四則運算結果 結果為 150

常數

  1. 使用 define 函式來定義:define(常數名稱, 常數值 [,是否區分大小寫])
    PS:其中 [,是否區分大小寫] 默認是 true
  2. 用 const 來定義:const 常數名稱 = 常數值
<?php
	define('firstName', "Kao");
	const lastName = "SungChun";
	echo firstName;
	echo lastName;
?>

常數的特性

  • 不用加上 $ 符號
  • 用 define() 或者 const 定義
  • 只接受標量型別 (布林值, 整數, 浮點數, 字串)
  • 常數不受有效範圍的限制
  • 常數在整個程式中只能定義一次,也不能取消定義
  • 常數一經定義即不能變更,也不能進行計算

PHP 程式中的資料型別

  1. 標量型別
  • 布林值(boolean)
  • 整數(integer)
  • 浮點數(float, double)
  • 字串(string)
  1. 複合型別
  • 物件(object)
  • 陣列(array)
  1. 特別型別
  • 資源(resource)
  • 空值(NULL)

布林值

  • 不分英文大小寫:true, True, TRUE, false, False, FALSE 都可以
  • 布林值可以轉換成別的型別: 數字:true = 1, false = 0;字串:true = “1”, false = “0”

整數

  • $a = 10 //10進位的整數
  • $a = 010 //8進位的整數
  • $a = 0x10 //16進位的整數

浮點數

  • $a = 1.234
  • $a = 1.2e3
  • $a = 7E-10

字串

  1. 單引號( ‘ ):在字串的前後加上單引號( ‘ ),所包含的內容即為字串。
	// 如果字串內容包含單引號,要在單引號前面加上一個 *跳脫字元* (反斜線 \ )
	echo 'I\'am fine, thank you.';
	// 輸出 I'am fine, thank you.
  1. 雙引號( “ ):在字串的前後加上雙引號( “ ),所包含的內容即為字串,字串中的變數會被視為變數編譯。
$firstName = 'Kao';
echo "$firstName";  // 會 echo 出 Kao

PS:雙引號間的字串內容如果有單引號,會自動判別為字。但如果字串內容要輸出雙引號,也要使用跳脫字元

  1. heredoc語法結構:以『<<<』符號後加上識別名,分行後在加上字串內容,最後以新的一行加上識別名結尾,字串中的變數會被視為變數編譯。
$變數名稱 = <<< 自定名稱
	字串內容......
	...... ......
自定名稱;

注意事項:

  • 起始的自定名稱後不要放置任何字元 (空白字元也不行)
  • 結尾的自定名稱一定要在行首,結尾後方也不要放置任何字元 (空白字元也不行)
  • 在定界符號表示法中,變數會被編譯而顯示變數的值
  • 字串內容不需要考慮跳脫字元,可以直接使用特殊符號或字元 (空白字元也不行)
  1. nowdoc語法結構:建置的方法與 heredoc 相同,不同的是起始的識別名要加上單引號( ‘ ),結尾的識別名就不用加單引號。字串中的變數不會被編譯。
$變數名稱 = <<< '自定名稱'
	字串內容......
	...... ......
自定名稱;

型別的轉換

將資料形態轉成整數:(int), (integer)
將資料形態轉成布林值:(bool), (boolean)
將資料形態轉成浮點數:(float), (double), (real)
將資料形態轉成字串:(string)
將資料形態轉成陣列:(array)
將資料形態轉成物件:(object)
將資料形態轉成空值:(unset)


上一篇
Day 7 - 網頁伺服器到底是什麼?
下一篇
Day 9 - PHP 基礎語法 part II
系列文
新手後端工程師的學習歷程30

尚未有邦友留言

立即登入留言