PHP学习系列(1)——字符串处理函数(1)

来源:互联网 发布:三国群英传辅助软件 编辑:程序博客网 时间:2024/05/24 07:24

从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 来规定十六进制。
例子:

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


0 0