PHP筆記:單引號與雙引號區別
阿新 • • 發佈:2020-08-01
區別
<?php #區別 單引號 裡不加轉移符 則不去解析 然後原有輸出 $age = 13; $str = 'hello "jack" "$age"'; echo $str, '<br>'; //hello "jack" "$age" #雙引號 裡不加轉移符 有$符則去解析 然後在輸出 如果找不到變數則 輸出 空字串 $str1 = "hello 'jack' '$a' $a "; echo $str1, '<br>'; //hello 'jack' '' # 常見面試問題 /* 1.單引號 雙引號 定義字串有什麼區別 答: 單引號不做負責的轉義 只轉移 \' \\ 其他的則一律原樣輸出 雙引號 則轉義的比較多 \r \n \t \$ 等等 */ $var = 99; $str2 = 'hello \n\r\t $var'; echo $str2, '<br>'; //hello \n\r\t $var $str2 = "hello \n\r\t $var"; echo $str2, '<br>'; //hello 99 //在windows中 檢視原始碼 則可看到換行:如上圖 /* 2.單引號 雙引號 定義字串 那個更快些 答: 單引號 因不會做複雜的轉義 和解析變數 */
在windows中 檢視原始碼 則可看到換行:如下圖
?>
單引號:
$age = 29; $str = 'hello \n\r \t $age'; $str1 = "hello \n\r \t $age"; echo $str, '<br>', $str1; /* 單引號 和雙引號的區別 單引號 系統不做複雜的轉義,只轉義 \' \\ */
<?php #單引號 #\ $str = 'hello, \'jack\''; echo $str, '<br>'; //hello, 'jack' #\\ $str1 = 'hello, \\'; echo $str1, '<br>'; //hello, \ ?>
雙引號:
<?php #雙引號 #\ $str = "hello, \"jack\""; echo $str, '<br>'; //hello, "jack" #\\ $str1 = "hello, \\"; echo $str1, '<br>'; //hello, \ $age = 38; #\n \r \t $str2 = "hello, \n\r\t$age"; echo $str2, '<br>'; //在windows中 檢視原始碼 則可看到換行:如上圖 #\$ $str3 = "hello, \$age"; echo $str3, '<br>'; //hello, $age ?>