PHP學習系列(1)——字符串處理函數(1)

從09年開始使用JAVA到現在差不多5年多了,然後由於即將要去的公司(研究僧終於要畢業了!)是使用PHP,Python作爲後臺開發語言的,所以要開始一段雙P的學習旅程。用過PHP的都說這是很簡單的一門語言,但是在我看來任何事情都是會者不難,所以還是從基礎點滴學起吧。就從最基礎的字符串處理開始學習,主要參考資料是W3SCHOOL的內容。

1、addslashes()函數在指定的預定義字符前添加反斜槓。這些預定義字符是:單引號 ('),雙引號 ("),反斜槓 (\),NULL。
語法:addslashes(string);
說明:該函數可用於爲存儲在數據庫中的字符串以及數據庫查詢語句準備合適的字符串。默認情況下,PHP 指令 magic_quotes_gpc 爲 on,對所有的 GET、POST 和 COOKIE 數據自動運行 addslashes()。不要對已經被 magic_quotes_gpc 轉義過的字符串使用 addslashes(),因爲這樣會導致雙層轉義。遇到這種情況時可以使用函數 get_magic_quotes_gpc() 進行檢測。
例子:

<?php
$str = "Who's John Adams?";
echo $str . " This is not safe in a database query.<br />";
echo addslashes($str) . " This is safe in a database query.";
?>
輸出
Who's John Adams? This is not safe in a database query.
Who\'s John Adams? This is safe in a database query.


2、addcslashes() 函數在指定的字符前添加反斜槓。
語法:addcslashes(string,characters)
說明:在對 0,r,n 和 t 應用 addcslashes() 時要小心。在 PHP 中,\0,\r,\n 和 \t 是預定義的轉義序列。
例子:

<?php
$str = "Hello, my name is John Adams.";
echo $str;
echo addcslashes($str,'m');
echo addcslashes($str,'J');
?>
輸出:
Hello, my name is John Adams.
Hello, \my na\me is John Ada\ms.
Hello, my name is \John Adams.
<?php
$str = "Hello, my name is John Adams.";
echo $str;
echo addcslashes($str,'A..Z');
echo addcslashes($str,'a..z');
echo addcslashes($str,'a..h');
?>
輸出:
Hello, my name is John Adams.
\Hello, my name is \John \Adams.
H\e\l\l\o, \m\y \n\a\m\e \i\s J\o\h\n A\d\a\m\s.
H\ello, my n\am\e is Jo\hn A\d\ams.


3、bin2hex() 函數把 ASCII 字符的字符串轉換爲十六進制值。
語法:bin2hex(string)
例子:

<?php
$str = "Hello world!";
echo bin2hex($str);
echo pack("H*",bin2hex($str));
?>
輸出:
48656c6c6f20776f726c6421
Hello world!


4、chop() 函數從字符串的末端開始刪除空白字符或其他預定義字符。
該函數的 rtrim() 函數的別名。該函數只能去除從末端開始的指定字符,
如果指定字符從末端開始到它之間有其他非指定字符,則不會被刪除。例如abc\n\n,兩個\n都可以被刪除,如果是
ab\nc\n只能刪除最右邊的那個\n。
語法:chop(string,charlist)
參數說明:charlist——可選。規定從字符串中刪除哪些字符。如果未設置該參數,則全部刪除以下字符:
"\0" - ASCII 0, NULL
"\t" - ASCII 9, 製表符
"\n" - ASCII 10, 新行
"\x0B" - ASCII 11, 垂直製表符
"\r" - ASCII 13, 回車
" " - ASCII 32, 空格


5、chr() 函數從指定的 ASCII 值返回字符。
語法:chr(ascii)
說明:ascii 參數可以是十進制、八進制或十六進制。通過前置 0 來規定八進制,通過前置 0x 來規定十六進制。
例子:

<?php
echo chr(52);
echo chr(052);
echo chr(0x52);
?>
輸出:
4
*
R


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章