PHP 8 是 PHP 語言的最新版本,於 2021 年 11 月 26 日發布,它引入了許多新功能和改進,旨在提高性能、安全性、可讀性和開發人員效率,如果你有寫過 PHP 或更早一點的版本,那你可以很快的上手,如果你還沒寫過 PHP8,先開始看一些簡單語法就很重要,這篇就簡單介紹一些 PHP 8 基本語法,先說概念及簡單的程式碼範例,不用特地練習這些範例語法,之後的章節再練習即可。
基本結構
PHP 程式碼通常由以下部分組成:
- <?php 標籤:告訴伺服器程式碼從此處開始。
- PHP 程式碼:可以使用 PHP 語言的任何功能和語法。
- ?> 標籤:告訴伺服器程式碼在此處結束。
實際寫起來會像下面這樣
<?php
// PHP 程式碼
?>
語法
PHP 語法類似於 C 語言,但也有一些獨特的功能。以下是一些常見的 PHP 語法元素:
變數:用於存儲值的容器。變數名稱以美元符號 ($) 開頭。
$name = "John Doe";
$age = 30;
數據類型:指定變數中值的類型。PHP 支持多種數據類型,包括整數、浮點數、字串、布林值和陣列。
$name = "John Doe"; // 字串
$age = 30; // 整數
$is_active = true; // 布林值
$numbers = array(1, 2, 3, 4, 5); // 陣列
運算符:用於對值進行操作。PHP 支持算術運算符、比較運算符、邏輯運算符和字符串運算符。
$sum = 10 + 20; // 加法
$difference = 30 - 15; // 減法
$product = 5 * 6; // 乘法
$quotient = 20 / 4; // 除法
$remainder = 10 % 3; // 求餘
$is_equal = $name == "John Doe"; // 等於
$is_greater = $age > 25; // 大於
$is_less = $number < 10; // 小於
$is_not_equal = $name != "Jane Doe"; // 不等於
$and_condition = $is_active && $is_equal; // 邏輯與
$or_condition = $is_greater || $is_less; // 邏輯或
$concatenation = "Hello, " . $name . "!"; // 字符串連接
控制流陳述式:用於控制程式碼的執行流程,PHP 支持 if-else 陳述式、switch 陳述式、while 循環和 for 循環。
if ($age >= 18) {
echo "You are old enough to vote.";
} else {
echo "You are not old enough to vote.";
}
switch ($name) {
case "John Doe":
echo "Hello, John Doe!";
break;
case "Jane Doe":
echo "Hello, Jane Doe!";
break;
default:
echo "Hello, there!";
}
$i = 1;
while ($i <= 5) {
echo $i . " ";
$i++;
}
for ($i = 1; $i <= 5; $i++) {
echo $i . " ";
}
函數:用於執行特定任務的程式碼塊,函數可以使用參數來接收輸入並返回輸出。
function say_hello($name) {
echo "Hello, " . $name . "!";
}
say_hello("John Doe"); // 輸出:Hello, John Doe!
類別:用於創建自定義對象的藍圖。類別包含屬性和方法。
class Person {
public $name;
public $age;
function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
function greet() {
echo "Hello, my name is " . $this->name . " and I am " . $this->age . " years old.";
}
}
$person = new Person("John Doe", 30);
$person->greet(); // 輸出:Hello, my name is John Doe and I am 30 years old.
命名參數:命名參數允許按名稱而不是按位置傳遞函數參數,這提高了程式碼的可讀性和可維護性。
function greet($name, $age = 30) {
echo "Hello, " . $name . "! You are " . $age . " years old.";
}
greet("John Doe"); // 輸出:Hello, John Doe! You are 30 years old.
greet("Jane Doe", 25); // 輸出:Hello, Jane Doe! You are 25 years old.
正規表達式:正規表達式提供了一種更簡潔、更具可讀性的方式來配對值,類似於 switch 陳述式,但具有更強大的功能。
$status = match ($result) {
1 => "Success",
-1 => "Failure",
default => "Unknown",
};
echo $status; // 輸出:Success (如果 $result 為 1)
空安全操作符:空安全操作符 (?.) 允許您安全存取可能為空的值。它可防止空引用錯誤。
$user = findUserById(123);
$name = $user ? $user->getName() : "Unknown";
echo $name; // 如果 $user 為空,則輸出“Unknown”
結論
PHP 8 是 PHP 語言的重大更新,引入許多新功能和改進,這些改進旨在提高性能、安全性、可讀性和開發人員效率。如果您是 PHP 開發人員,那麼學習 PHP 8 的新功能和改進非常重要,以上一些 PHP 8 常用的語法及功能,各位就先參考看看,後續章節會針對這些功能寫出一些範例讓各位練習,慢慢的就會熟悉 PHP8 的程式碼寫法與各種功能運用。
延伸閱讀