1. 程式人生 > 其它 >PHP——PHP基礎語法

PHP——PHP基礎語法

技術標籤:# PHPphp字串

文章目錄

程式語言常見的語法

  • 變數 —— 用於臨時存放資料的容器順序結構 —— 先幹什麼再幹什麼
  • 分支結構 —— 如果怎樣就怎樣否則怎樣迴圈結構 —— 不斷的做某件相同的事
  • 函式 —— 提前設計好一件事怎麼幹,然後想什麼時候幹就什麼時候幹
  • 運算子 —— 數學運算和字串拼接
  • 字面量 —— 在程式碼中用某些字元組成,能夠表達一個具體的值 這些字元之間表示資料的方式叫做字面量

PHP 也是另外種程式語言,作為另外一種程式語言,PHP 也具備著絕大多數語言都有的特點,例如變數、條件分支、迴圈、函式等等,不同的是每個語言都會有自己的語法規定。這裡不用太過擔心,這些語法規定與之前學習的程式語言大同小異,對我們來說不會有太大的壓力。

  1. 變數
  2. 雙引號字串和單引號字串的差異
  3. 指令式的語法
  4. foreach
  5. 函式作用域問題
  6. 字串拼接

1. 變數

變數是程式語言中臨時存放資料的容器。

PHP 中申明一個變數是用一個美元符號後面跟變數名來表示。變數名同樣是區分大小寫的。PHP 中變數無需宣告型別,變數的型別根據值的型別來推斷。


<?php

$foo; // 申明一個變數,變數名為 `foo`,未對其進行賦值
$bar = 'baz'; // 申明一個變數,將一個值為 `baz` 的字串賦值給它
echo $foo; // 輸出一個變數名為 `foo` 的變數
fn($bar); // 將一個變數名為 `foo` 的變數作為 `fn` 的實參傳遞

1.1. 資料型別

常見的 PHP 資料型別與 JavaScript 基本一致:

string(字串)
integer(整型)—— 只能存整數
float(浮點型)—— 可以存帶小數位的數字
boolean(布林型)
array(陣列)
object(物件)
NULL(空)
Resource(資源型別)
Callback / Callable(回撥或者叫可呼叫型別)

字串

PHP 有多種建立字串的方式:單引號、雙引號等。

單引號字串

不支援特殊的轉義符號,例如 \n

如果要表示一個單引號字元內容,可以通過 ’ 表達如果要表示一個反斜線字元內容,可以通過 \ 表達

雙引號字串

支援轉義符號

支援變數解析

<?php
// ====== 單引號 ====== echo 'hello\nworld'; // => `hello\nworld` echo 'I\'m a better man'; // => `I'm a better man` echo 'OS path: C:\\Windows'; // => `OS path: C:\Windows` // ====== 雙引號 ====== echo "hello\nworld"; // => `hello // world` $name = 'zce'; echo "hello $name"; // => `hello zce`

字串函式

http://php.net/manual/zh/ref.strings.php

推薦w3c school:http://www.w3school.com.cn/php/php_string.asp

陣列

PHP 中陣列可以分為兩類:

  1. 索引陣列
    與 JavaScript 中的陣列基本一致

<?php

// 定義一個索引陣列

$arr = array(1, 2, 3, 4, 5); 
var_dump($arr);

// PHP 5.4 以後定義的方式可以用 `[]`

$arr2 = [1, 2, 3, 4, 5]; 
var_dump($arr2);

  1. 關聯陣列

有點類似於 JavaScript 中的物件

<?php

// 注意:鍵只能是`integer`或者`string`
$arr = array('key1' => 'value1', 'key2' => 'value2'); 
var_dump($arr);

// PHP 5.4 以後定義的方式可以用 `[]`
$arr2 = ['key1' => 'value1', 'key2' => 'value2']; 
var_dump($arr2);

1.2. 資料型別轉換

函式太多可以參考php手冊

參考:http://php.net/manual/zh/language.types.type-juggling.php


<?php

$str = '132';

// 將一個內容為數字的字串強制轉換為一個整形的數字

$num = (int)$str;

// 將一個數字強制轉換為布林值

$flag = (bool)$num;

2. 運算子

數學運算子,邏輯運算子與 JavaScript 基本一致,無額外特殊情況。
字串連線(拼接)採用的是比較特殊的 .

<?php

$name = 'zce';

// 拼接 `hey ` 和 `zce`

$message = 'hey ' . $name;

// 相當於 +=

$foo .= $message

3. 語句

分號分割

if、switch、while、for、 foreach、function…

4. 流程控制

順序結構

分支結構

if … else
switch … case

迴圈結構

for
while
foreach — 專門用來遍歷陣列

<?php

$arr = array('name' => 'zhangsan', 'age' => '18');


foreach ($arr as $key => $value) {

echo $key . ' ' . $value;

}

指令式的 if、for、foreach、while 單獨掌握

<?php

// 指令式就是將開始 { 換成 : 結束 } 換成 endif;

if ($i > 0) :

echo 'ok' endif;

// for foreach while 也是一樣

for ($i = 0; $i < 10; $i++) :

echo $i; endfor;

5. 函式

定義與使用函式的方式與 JavaScript 相同:

<?php

// 函式名不區分大小寫

function foo ($name, $title) {

echo "$name ($title)";

}

// 呼叫

foo('zce', 'UFO');

Foo('zgd', 'SBO'); // 大小寫不區分

注意:使用方式有點差異(函式名不區分大小寫),但是不要這麼搞!!!

建議在 PHP 中採用下劃線式(snake_case)做命名規則,不管是函式還是變數