首页 > 代码库 > PHP学习系列(1)——字符串处理函数(5)
PHP学习系列(1)——字符串处理函数(5)
31、ord() 函数返回字符串第一个字符的 ASCII 值。
语法:ord(string)
例子
<?phpecho ord("h");echo ord("hello");?>
输出:
104104
32、parse_str() 函数把查询字符串解析到变量中。
语法:parse_str(string,array)
array——可选。规定存储变量的数组名称。该参数指示变量存储到数组中。
说明:如果未设置 array 参数,由该函数设置的变量将覆盖已由同名变量。php.ini 中的 magic_quotes_gpc 设置影响该函数的输出。如果已启用,那么在 parse_str() 解析之前,变量会被addslashes()转换。
例子
例子 1
<?phpparse_str("id=23&name=John%20Adams");echo $id."<br />";echo $name;?>
输出:
23John Adams
例子 2
<?phpparse_str("id=23&name=John%20Adams",$myArray);print_r($myArray);?>
输出:
Array([id] => 23[name] => John Adams)
33、print() 函数输出一个或多个字符串
说明:print() 函数实际上不是函数,所以您不必对它使用括号。print() 函数稍慢于 echo(),因为它需要返回1。
34、printf() 函数输出格式化的字符串。
printf(format,arg1,arg2,arg++)
format——必需。规定字符串以及如何格式化其中的变量。
arg1——必需。规定插到格式化字符串中第一个 % 符号处的参数。
arg2——可选。规定插到格式化字符串中第二个 % 符号处的参数。
arg++——可选。规定插到格式化字符串中第三、四等等 % 符号处的参数。
说明:arg1, arg2, ++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的。在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。
35、quotemeta() 函数在字符串中某些预定义的字符前添加反斜杠。
语法:quotemeta(string)
这些预定义字符是:
- 句号 (.)
- 反斜杠 (\)
- 加号 (+)
- 星号 (*)
- 问号 (?)
- 方括号 ([])
- 脱字符号 (^)
- 美元符号 ($)
- 圆括号 (())
区别于addslashes() 函数,它转义的预定义字符是
- 单引号 (‘)
- 双引号 (")
- 反斜杠 (\)
- NULL
36、setlocale() 函数设置地区信息(地域信息)。地区信息是针对一个地理区域的语言、货币、时间以及其他信息。该函数返回当前的地区设置,若失败则返回 false。
语法:setlocale(constant,location)
constant——必需。规定应该设置什么地区信息。
可用的常量:
- LC_ALL - 包括下面的所有选项
- LC_COLLATE -排序次序
- LC_CTYPE - 字符类别及转换(例如所有字符大写或小写)
- LC_MESSAGES - 系统消息格式
- LC_MONETARY - 货币格式
- LC_NUMERIC - 数字格式
- LC_TIME - 日期/时间格式
location——必需。规定把地区信息设置为什么国家/地区。如果 location 参数是数组,setlocale() 会尝试每个数组元素,直到找到合法的语言或地区代码为止。如果某个地区在不同的系统上拥有不同的名称,这一点很有用。
提示:setlocale() 函数仅针对当前脚本改变地区信息。可以通过 setlocale(LC_ALL,NULL) 把地区信息设置为系统默认。
例子
在本例中,我们将把 locale 设置为 US English,然后再设置回系统默认:
<?phpecho setlocale(LC_ALL,"En-Us");echo setlocale(LC_ALL,NULL);?>
37、sha1() 函数计算字符串的 SHA-1 散列。sha1() 函数使用美国 Secure Hash 算法 1。如果成功,则返回所计算的 SHA-1 散列,如果失败,则返回 false。
语法:sha1(string,raw)
raw——可选。规定十六进制或二进制输出格式:TRUE - 原始 20 字符二进制格式 ;FALSE - 默认。40 字符十六进制数;注释:该参数是 PHP 5.0 中添加的。
例子 1
<?php$str = ‘Hello‘;echo sha1($str);?>
输出:
f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
38、ha1_file() 函数计算文件的 SHA-1 散列。
语法:sha1_file(string,raw)
39、similar_text() 函数计算两个字符串的匹配字符的数目。该函数也可以计算两个字符串的相似度(以百分比计)。
语法:similar_text(string1,string2,percent)
string1——必需。规定要比较的第一个字符串。
string2——必需。规定要比较的第二个字符串。
percent——可选。规定供存储百分比相似度的变量名。
注释:levenshtein() 函数比 similar_text() 函数更快。不过,similar_text() 函数通过更少的必需修改次数提供更精确的结果。
例子
例子 1
<?phpecho similar_text("Hello World","Hello Peter");?>
输出:
7
例子 2
<?phpsimilar_text("Hello World","Hello Peter",$percent);echo $percent;?>
输出:
63.6363636364
39、sprintf() 函数把格式化的字符串写入一个变量中。
例子 1
<?php$str = "Hello";$number = 123;$txt = sprintf("%s world. Day number %u",$str,$number);echo $txt;?>
输出:
Hello world. Day number 123
40、scanf() 函数根据指定的格式解析来自一个字符串的输入。
如果只向该函数传递两个参数,数据将以数组的形式返回。否则,如果传递了额外的参数,那么被解析的数据会存储在这些参数中。如果区分符的数目大于包含它们的变量的数目,则会发生错误。不过,如果区分符少于变量,则额外的变量包含 NULL。
语法:sscanf(string,format,arg1,arg2,arg++)
string——必需。规定要读取的字符串。
format——必需。规定要使用的格式。
arg1——可选。存储数据的第一个变量。
arg2——可选。存储数据的第二个变量。
arg++——可选。存储数据的第三、四个变量。依此类推。
参数 format 是转换的格式,以百分比符号 ("%") 开始到转换字符结束。下面的可能的 format 值:
- %% - 返回百分比符号
- %b - 二进制数
- %c - 依照 ASCII 值的字符
- %d - 带符号十进制数
- %e - 可续计数法(比如 1.5e+3)
- %u - 无符号十进制数
- %f - 浮点数(local settings aware)
- %F - 浮点数(not local settings aware)
- %o - 八进制数
- %s - 字符串
- %x - 十六进制数(小写字母)
- %X - 十六进制数(大写字母)
例子
<?php$string = "age:30 weight:60kg";sscanf($string,"age:%d weight:%dkg",$age,$weight);// show types and valuesvar_dump($age,$weight);?>
输出:
int(30)int(60)
PHP学习系列(1)——字符串处理函数(5)