PHP 中單引號與雙引號的差別

一個小小的冷知識。

簡述

直接來看例子:

1
2
3
4
5
<?php
$name = 'PeaNu';
echo "My name is $name";
echo 'My name is $name';
?>

Output:

1
2
My name is PeaNu;
My name is $name;

有注意到嗎?在單引號的時候變數會被當成「字串」,雙引號的時候變數值會被「解析」,這就是兩者的差異。

所以網路上說單引號會讓 PHP 跑的比較快就是因為這樣,因為單引號的時候不用做「解析」這件事。

哪個比較好?

在大部分情況其實差異不大,主要是在 SQL 語句,例如:

1
2
3
<?php
$sql = "INSERT INTO users(`name`, `gender`) VALUES ('PeaNu', 'Man')";
?>

Value 值的部分原本的 MySQL 只認得「單引號」,不過後來 MySQL 有針對雙引號的部分做擴展支援,所以也不是什麼太大的問題,但還是要知道過去有這個問題。

mentor-program-day54 mentor-program-day53
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×