php 特殊符号处理,处理特殊符号的方法-php技巧
另一種字符串定義方式,能夠消除特殊字符的煩惱,而且便于引用較長的文本。該字符串定義方
法以<<
二、字串的連接
字串可以使用字串連接符(.)來連接,如:
$first_name = 'Charlie';
$last_name = 'Brown';
$full_name = $first_name . ' ' . $last_name;
常見的用途是建立大塊的HTML字串代碼,賦值號 (=) 連接符 (.) 可以被簡寫合并為 (.=) 符
號,如:
$html = '';
$html .= '
numbersquare';
for ( $i=0 ; $i<10 ; $i++) {
$square = $i * $i;
$html .= '
' . $i . '' . $square . '';
}
$html .= '';
三、在字串中使用變量
這個功能讓你無須使用連接符號來粘和大量的簡單字符串。PHP允許我們在雙引號串中直接包含字
串變量,我們可以發現下面的兩個字串的處理結果是相同的。
$full_name = $first_name . ' ' . $last_name;
$full_name = "$first_name $last_name";
單引號串和雙引號串在PHP中的處理是不相同的。雙引號串中的內容可以被解釋而且替換,而單引
號串中的內容總被認為是普通字符。例如:
$foo = 2;
echo "foo is $foo"; // 打印結果: foo is 2
echo 'foo is $foo'; // 打印結果: foo is $foo
echo "foo is $foo\n"; // 打印結果: foo is 2 (同時換行)
echo 'foo is $foo\n'; // 打印結果: foo is $foo\n
正如你所看到的,在單引號串中甚至反斜杠也失去了他的擴展含義(除了插入反斜杠\\和插入單
引號\')。所以,當你想在字串中進行變量代換和包含\n(換行符)等轉義序列時,你應該使用雙引
號。單引號串可以用在其他任何地方,腳本中使用單引號串處理速度會更快些,因為PHP語法分析器對
單引號串的處理方式比較單純,而雙引號的處理由于串內部也需要解析,因此更復雜些,所以處理速
度略慢。
在字符串中引用復雜的變量組合時,可能會產生一些問題,下面的代碼會正常工作:
echo "value = $foo";
echo "value = $a[$i]";
而下面的代碼卻不能得到我們希望的結果:
echo "value = $a[$i][$j]"; //我們希望打印二維數組$a的某個元素。
為避免這些字串使用中的潛在問題,我們通常把復雜的變量從字串中分離開來,就像這樣:
echo 'value = ' . $a[$i][$j];
還有一種辦法是將復雜變量用花括號括起來,語法分析器就能正確辨認了:
echo "value = {$a[$i][$j]}" //打印二維數組$a的某個元素
這樣,又出現新問題了。當我們想在字串中引用花括號字符本身時,就要記得使用轉義符了:
$var = 3;
echo "value = {$var}"; // 打印結果 "value = 3"
echo "value = \{$var}"; // 打印結果 "value = {3}"
三、斜杠和SQL語句
生成HTML代碼或SQL查詢語句是編寫PHP程序時經常遇到而且是件有趣的事情。為什么這么說呢, 因為這涉及到生成另外一種類型的代碼,你必須仔細地考慮和遵循這種代碼所要求的編寫語法和規則。
我們來看這樣一個例子,假如你想查詢數據庫中名字是“O'Keefe”的用戶,通常SQL語句的形式是這樣的:
select * from users where last_name = 'O\'Keefe'
請注意SQL語句這個英文所有格(撇號)需使用反斜杠轉義。PHP專門提供了一些函數來處理這樣的情況,函數AddSlashes($str)的用途就是自動在字串中對引號字符插入反斜杠轉義符:
$last_name = "O'Keefe";
$sql = "select * from users where last_name = '" . addslashes($last_name) . "'";
在這個例子中,你還要
閱讀(977) | 評論(0) | 轉發(0) |
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的php 特殊符号处理,处理特殊符号的方法-php技巧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql8.0.15远程登陆权限,My
- 下一篇: php图片自动分页,WordPress点