substr()函数可以对字符串进行截取,substr()函数可以有三个参数,第二个参数如果是空,那么默认就为0,如果我负数,就表示从后往前计数,第三个参数如果是正数,表示字符串截取的长度,如果省略,则会一直截取到最后,如果是负数,则表示从后往前截取到的位置。
<?php echo substr('abcdef',3, 2); // 显示 de echo substr('abcdef',"", 2); // 显示 ab echo substr("abcdef", -2); // 显示 ef echo substr("abcdef", -3, 1); // 显示 d echo substr("abcdef", -3, -1); // 显示 de ?>
substr_count()函数的作用是计算字符串中某字符段的出现次数,第三个参数表示在字符串中开始比较的位置,省略则默认从头开始,第四个参数表示依次比较的字符数,省略则表示一直比较到末尾。和substr()函数有所不同的是,这两个参数都不支持负数。
<?php $text = 'This is a test'; echo substr_count($text, 'is'); // 显示 2 echo substr_count($text, 'is', 3); // 显示 1 echo substr_count($text, 'is', 3, 3); // 显示 0 ?>
substr_replace()函数的作用是对字符串中的部分字符进行替换,substr_replace()函数的第三个参数必选,表示需要处理字符的起始位置,负数表示从后往前计数,第四个参数可选,省略表示一直替换到最后,正数表示替换的长度,负数表示从后往前替换到的位置。
<?php $var = 'ABCDEFGH:/MNRPQR/'; echo substr_replace($var, 'bob', 0); // 显示 bob echo substr_replace($var, 'bob', 0, 0); // 显示 bobABCDEFGH:/MNRPQR/ echo substr_replace($var, 'bob', 10, -1); // 显示 ABCDEFGH:/bob/ echo substr_replace($var, 'bob', -7, -1); // 显示 ABCDEFGH:/bob/ echo substr_replace($var, '', 10, -1); // 显示 ABCDEFGH:// ?>
implode()函数的作用是将数组转变为字符串,explode()函数的作用是将一个字符串转变为一数组形式。implode()函数前两个参数的位置是任意的,而explode()函数则不行。explode()函数第三个参数可选,省略则表示全部返回,正数表示返回的数组中单元的个数,最后一个单元包含了未处理完的字符串,负数表示返回值中将除去最后的若干个单元。join()函数的作用和implode()函数相同,是implode()函数的别名。
<?php $array = array('lastname', 'email', 'phone'); echo implode($array,","); // 显示 lastname,email,phone $str = 'one|two|three'; print_r(explode('|', $str));// 显示 Array ( [0] => one [1] => two [2] => three ) print_r(explode('|', $str, 2));// 显示 Array ( [0] => one [1] => two|three ) print_r(explode('|', $str, -1));// 显示 Array ( [0] => one [1] => two ) ?>
strtok()函数的作用是用指定的若干个字符来分割字符串,此函数的功能较强大,但是使用方法比较特殊。在连续使用的时候,第一次需要说明字符串和分割符,但是第二次的时候,只要放入分割符就可以,分割符可以是多个内容,但是不能使用字符串,具体请研究下面的例子:
<?php $string = "This is\tan example\nstring"; $tok = strtok($string, " \n\t"); while ($tok !== false) { echo "$tok<br />"; $tok = strtok(" \n\t"); } ?>
str_split()函数的作用是将一个字符串按照字符间距分割为一个数组,str_split()函数有两个参数,第二个参数可选,默认值为“1”。
<?php $str1 = "asd"; $str2 = "Hello Friend"; print_r(str_split($str1)); // 显示 Array ( [0] => a [1] => s [2] => d ) print_r($arr2 = str_split($str2, 4)); // 显示 Array ( [0] => Hell [1] => o Fr [2] => iend ) ?>
chunk_split()函数的作用是按一定的字符长度将字符串分割成小块,第二个参数可选,表示字符间距,默认为76,第三个参数可选,表示用什么字符进行分割,默认为“\r\n”。
<?php $str = "asdasdasd"; echo chunk_split($str,3,","); // 显示 asd,asd,asd, ?>
wordwrap()函数的作用是按照一定的字符长度分割字符串,第二个参数可选,表示按多少字符进行分割,默认为75,第三个参数可选,表示用哪个字符分割,默认为“\n”,第四个参数可选,true表示强制打破一个单词,false表示不大破单词,默认为false。
<?php $text = "A very long woooooooooood asdasd"; echo wordwrap($text, 12, "<br />\n", true); // woooooooooood被打破 echo wordwrap($text, 12, "<br />\n", false); // woooooooooood未被打破 ?> strlen()函数的作用是获取一个字符串的编码长度。 <?php $text1 = "ABC"; $text2 = "中文"; echo strlen($text1); // 显示 3 echo strlen($text2); // 显示 6 ?>
str_word_count()函数的作用是获取字符串里面的英文单词信息,第二个参数可选,0表示只返回单词的个数,1表示将找到的单词作为一个数组返回,2表示找到的单词和单词所在的字符位置信息作为一个联合数组(associative)返回,省略的默认值是0;第三个参数也是可选的,表示需要忽略的断词符号,默认的断词符号有空格,数字等等,有时候需要忽略一些。
<?php $str = "Hello fri3nd, you're looking good today!"; echo str_word_count($str); // 显示 7 print_r(str_word_count($str, 1)); // 显示 Array ( [0] => Hello [1] => fri [2] => nd [3] => good [4] => today ) print_r(str_word_count($str, 2)); // 显示 Array ( [0] => Hello [6] => fri [10] => nd [14] => good [19] => today ) print_r(str_word_count($str, 1, 'àá~ac3')); // 显示 Array ( [0] => Hello [1] => fri3nd [2] => good [3] => today ) ?>
nl_langinfo()函数的作用是获取某些字符信息,但是没有在windows平台下实现,所以,我以后在讨论。
localeconv()函数的作用是获取数字相关的格式定义。setlocale()函数可以设置关于数字,日期等等的本地格式,相关内容较复杂,这里省略不谈。这两个函数的作用是为了解决在不同的国家地区之间,对数字,货币,日期等字符形式不同的表现内容而进行简易设置的作用。
strrev()函数的作用是将字符串里面的所有字母反向排列。str_shuffle()函数的作用是对一个字符串里面的字符进行随机排序。
<?php echo strrev("ABC"); // 显示 CBA $str = 'abcdef'; echo str_shuffle($str); ?>
str_pad()函数的作用是对字符串进行两侧的补白,第二个参数表示补白以后的长度,第三个参数可选,表示进行补白的字符串,默认为空格,第四个参数可选,表示补白的方式,有三个常量可以选择:STR_PAD_RIGHT,STR_PAD_LEFT和STR_PAD_BOTH,分别表示右补白,左补白和两侧补白,默认值为STR_PAD_RIGHT。
<?php $input = "Alien"; echo str_pad($input, 10); // 显示 "Alien " echo str_pad($input, 10, "-=", STR_PAD_LEFT); // 显示 "-=-=-Alien" echo str_pad($input, 10, "_", STR_PAD_BOTH); // 显示 "__Alien___" echo str_pad($input, 6 , "___"); // 显示 "Alien_" ?> str_repeat()函数的作用是对字符串进行重复组合,第二个参数表示重复的次数,值为0的时候将返回一个空字符串。 <?php echo str_repeat("ab", 3); // 显示 ababab ?> chr()函数的作用是返回一个字符的ASCII码,ord()函数的作用是将一个ASCII码转换为一个字符。 <?php $str = "a"; echo ord($str); // 显示 97 $asc2 = 97; echo chr($asc2); //显示 a ?>
strcmp()函数的作用是对字符串进行大小比较,第一个参数大于第二个参数时返回一个大于0的数,小于则返回一个小于0的数,等于则返回0,此函数的比较结果返回值是非常令人困惑的,因而此函数的主要用处是比较两个字符串是否相等。strncmp()函数的作用和strcmp()函数类似,区别是strncmp()函数有第三个必选参数,用来限制进行比较的前N个字符。strcasecmp()的作用和strcmp()函数类似,区别是strcasecmp()函数忽略大小写。strncasecmp()函数的作用和strncmp()函数类似,区别是strncasecmp()函数忽略大小写。strnatcmp()函数的作用和strcmp()函数类似,区别是strnatcmp()函数使用自然排序法对字符串之间进行比较。strnatcasecmp()函数的作用和strnatcmp()函数类似,区别是strnatcasecmp()函数比较时不区分大小写。strcoll()函数的作用和strcmp()函数类似,区别是strcoll()函数会根据本地环境的设置而改变比较的方式,而产生不同的结果,这里暂时跳过不讨论。
<?php echo strcmp("red", "red"); // 显示 0 echo strncmp("red apple", "red", 3); // 显示 0 echo strcasecmp("Red", "red"); // 显示 0 echo strncasecmp("Red apple", "red", 3); // 显示 0 ?>
上面这些函数的另一个作用是被作为回调函数的形式使用(其实也是最主要的用途所在):
<?php $arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png"); usort($arr1, "strcmp"); print_r($arr1); // 显示标准排序以后的结果 usort($arr2, "strnatcmp"); print_r($arr2); // 显示自然排序以后的结果 ?>
substr_compare()函数可以对字符串进行截取后的比较,第三个参数表示比较开始的起始位置,第四个参数可选,表示进行比较的长度,省略则表示一直比较到末尾,第五个参数可选,设置为true可以忽略大小写,false表示不忽略大小写,默认值为false。
<?php echo substr_compare("abcde", "bc", 1, 2); // 显示 0 echo substr_compare("abcde", "bcg", 1, 2); //显示 0 echo substr_compare("abcde", "BC", 1, 2, true); //显示 0 echo substr_compare("abcde", "bc", 1, 3); //显示 1 echo substr_compare("abcde", "cd", 1, 2); //显示 -1 echo substr_compare("abcde", "abc", 5, 1); //显示 报错 ?>
similar_text()函数的作用是比较两个字符串,返回系统认为的相似字符个数,第三个参数可选,可以对一个变量附值为相似度百分比。levenshtein()函数的作用是对字符串进行比较,并且返回两个字符串的相似度,有三个可选参数,但是不知道如何使用。
<? echo similar_text("abcdas", "abdcas", $p); // 显示 5 echo "$p%"; // 显示 83.3333333333% echo levenshtein("ab", "abcd"); // 显示 2 echo levenshtein("abc", "abcd"); // 显示 1 echo levenshtein("abcd", "abcd"); // 显示 0 ?>
soundex()函数的作用是判断一个字符串的发音规则,用4位的字符串表示。metaphone()函数的作用是判断一个字符串的发音规则,和soundex()函数类似,但是显示的是一个不定长的字符串。
<?php echo soundex("Ellery"); // 显示 E460 echo soundex("Ghosh"); // 显示 G200 echo soundex("Heilbronn"); // 显示 H416 echo metaphone("Ellery"); // 显示 ELR echo metaphone("Ghosh"); // 显示 FX echo metaphone("Heilbronn"); // 显示 HLBRN ?>
addslashes()函数的作用是为字符串里面的部分字符添加反斜线转义字符,addslashes()函数只为4个字符添加转义,单引号“’ ”,双引号“””,反斜线“\”和NULL(“\0”)。addcslashes()函数的作用也是对字符串添加转义,但是转义的字符必须由第二个参数指定,第二个参数的使用方法难度太高,跳过不讲。stripslashes()函数的作用和addslashes()函数正好相反,可以将addslashes()函数转义的那4个字符取消转义。同样,stripcslashes()函数的作用和addcslashes()函数相反。quotemeta()函数的作用是对11个特定字符进行转义,包括:. \ + * ? [ ^ ] ( $ ) 似乎是可以用在正则里面。
<?php echo addslashes("'"\ "); // 显示 \'"\\ echo addcslashes("zoo['.']", 'zo'); // 显示 \z\o\o['.'] echo addcslashes("z"oo['.']", '\'"'); // 显示 z"oo[\'.\'] echo addcslashes('foo[ ]', 'A..z'); // 显示 \f\o\o\[ \] echo stripslashes(addslashes("'"\ ")); // 显示 '"\ echo stripcslashes(addcslashes("z"oo['.']", '\'"')); // 显示 z"oo['.'] echo quotemeta(". \ + * ?"); // 显示 \. \\ \+ \* \? ?>
htmlspecialchars()函数的作用是将字符串中一些字符转换为HTML实体,默认情况下主要包括这4个字符:“<”,“>”,“&”和“””,分别转换为HTML实体:“<”,“>”,“&”呵“"”。htmlentities()函数的第二个可选参数可以选择引号的转换模式,可以选择三个常量:ENT_COMPAT表示转换双引号但是保留单引号,ENT_QUOTES表示同时转换双引号和单引号,ENT_NOQUOTES表示两个都不转换,默认值为ENT_COMPAT。第三个可选参数表示所转换字符的编码集。htmlspecialchars_decode()函数的作用和htmlspecialchars()函数刚好相反,但是两个函数的使用方法一样。
<?php $str = "<a href='test'>Test</a>"; echo htmlspecialchars($str); // 显示(源代码里面) <a href='test'>Test</a> echo htmlspecialchars($str, ENT_QUOTES); // 显示(源代码里面) <a href='test'>Test</a> $str = '<a href='test'>Test</a>'; echo htmlspecialchars_decode($str); // 显示(源代码里面) <a href='test'>Test</a> ?>
htmlentities()函数的用法和htmlspecialchars()函数类似,但是htmlspecialchars()函数会转义更多的HTML里面的字符(请查看手册的htmlspecialchars()函数的表格1《已支持字符集》部分),所以使用时要注意加上第三个参数。html_entity_decode()函数的作用和htmlentities()函数正好相反,但是用法完全一样,使用时也要注意用到第三个参数。
get_html_translation_table()函数的作用是返回可以转换的HTML实体,算是一个比较有意思,也是有趣的工具函数。get_html_translation_table()函数有两个常量参数,第一个参数表示所选择显示哪种转换模式下的内容,HTML_ENTITIES表示大范围的htmlentities()函数所用到的转换内容,HTML_SPECIALCHARS表示小范围的htmlspecialchars()函数所用到的转换内容,第二个参数的三种模式ENT_COMPAT,ENT_QUOTES,ENT_NOQUOTES的作用,可以查看htmlspecialchars()函数里面的介绍。
<?php<meta http-equiv="Content-Type" c /> <?php $str = "<a href='test'>中文</a>"; echo htmlentities($str,ENT_COMPAT,"UTF-8"); //显示(源代码里面) <a href='test'>涓枃</a> echo html_entity_decode(htmlentities($str,ENT_COMPAT,"UTF-8"),ENT_COMPAT,"UTF-8"); // 显示(源代码里面) <a href='test'>中文</a> ?>
print_r(get_html_translation_table(HTML_SPECIALCHARS,ENT_QUOTES));
?>
nl2br()函数的作用是将字符串中的换行符“\n”替换成“<br />”。
<?php echo nl2br("foo isn't\n bar"); // 显示(源代码里面) foo isn't<br /> bar ?>
strip_tags()函数的作用是去除一个字符串里面的HTML和PHP代码(其实好像就是去掉“<”开始“>”结尾的字符串,无所谓PHP)。第二个参数表示允许出现的标签对。
<?php $text = '<p>Test paragraph.</p><em>Other text</em>'; echo strip_tags($text, '<p>'); // 显示 <p>Test paragraph.</p>Other text ?>
parse_str()函数的作用是把一定格式的字符串转变为变量和值,字符串的格式和URL的格式相同。
<?php parse_str('d=12&c[]=as'); echo $c[0]; // 显示 as echo $d; // 显示 12 ?>
hebrev()函数的作用是将Hebrew编码的字符串转换为可视的文本,hebrevc函数的作用是和hebrev()函数类似,区别是会将字符串里面的“\n”转变为“<br>\n”。hebrev()函数和hebrevc函数的第二个参数用法相同,可以设定每行的显示字符数,行末不会强制打断一个单词。
convert_cyr_string()函数的作用是将斯拉夫语字符转换为别的字符。
bin2hex()函数的作用是将二进制数据转换成十六进制的数据。
str_rot13函数的作用是将字符串进行ROT13加密处理,方法是将所有字符移动13个字母位置,因为英文一共是26个字母,所以该函数的加密解密可以使用同一个函数。
<?php echo str_rot13('str_rot13'); // 显示 fge_ebg13 echo str_rot13(str_rot13('str_rot13')); // 显示 str_rot13 ?>
md5()函数的作用是将一个字符串进行MD5算法加密,返回一个32位的16位字符串,第二个参数如果设置为true,将会返回一个16位的2进制字符串。md5_file()函数的作用是对文件进行MD5加密,使用方式和md5()函数相同。
<?php echo md5('apple'); //显示 1f3870be274f6c49b3e31a0c6728957f echo bin2hex(md5('apple', true)); //显示 1f3870be274f6c49b3e31a0c6728957f ?>
sha1()函数的作用是将一个字符串进行SHA1算法加密,返回一个40位的16位字符串,第二个参数如果设置为true,将会返回一个20位的2进制字符串。sha1_file()函数的作用是对文件进行SHA1加密,使用方式和sha1()函数相同。
<?php $str = 'apple'; echo sha1('apple'); //显示 d0be2dc421be4fcd0172e5afceea3970e2f3d940 echo bin2hex(sha1('apple', true)); //显示 d0be2dc421be4fcd0172e5afceea3970e2f3d940 ?>
crypt()函数的作用是对一个字符串进行散列处理,返回一个加密后的字符串。第二个可选参数是一个加密参考量,crypt()函数会根据这个量来产生加密的值,第二个参数如果省略,PHP将会随机产生一个参考量;第二个参数的处理,需要根据4个PHP的预定义常量,PHP会更具预定义常量的设定,对参考量进行处理,再进行加密。
CRYPT_STD_DES – 标准模式,获取参考量的前两位。
CRYPT_EXT_DES – 扩展模式,获取参考量的前九位。
CRYPT_MD5 – MD5模式,参考量为$1$开始的一个常量CRYPT_SALT_LENGTH指定长度的字符串。
CRYPT_BLOWFISH – 河豚模式,参考量为$2$或者$2a$开始的一个16位长的字符串。
<?php if (CRYPT_STD_DES == 1) { echo 'Standard DES: ' . crypt('rasmuslerdorf', 'rl'); } // 显示 rl.3StKT.4T8M if (CRYPT_EXT_DES == 1) { echo 'Extended DES: ' . crypt('rasmuslerdorf', '_J9..rasm'); } // 显示 _J9..rasmBYk8r9AiWNc if (CRYPT_MD5 == 1) { echo 'MD5: ' . crypt('rasmuslerdorf', '$1$rasmusle$'); } // 显示 $1$rasmusle$rISCgZzpwk3UhDidwXvin0 if (CRYPT_BLOWFISH == 1) { echo 'Blowfish: ' . crypt('rasmuslerdorf', '$2a$07$rasmusler...........$'); } // 显示 $2a$07$rasmuslerd............nIdrcHdxcUxWomQX9j6kvERCFjTg7Ra ?>
crc32()函数的作用是计算一个字符串的crc32多项式
<?php $checksum = crc32("Hello World!"); printf("%u\n", $checksum); // 显示 472456355 ?> quoted_printable_decode()函数不知道什么意思。 convert_uuencode()函数的作用是对一个字符串进行加密,convert_uudecode()函数的作用和convert_uuencode()函数相反,可以起到解密的作用。 <?php $some_string = "test\ntext text\r\n"; echo convert_uuencode($some_string); // 显示 0=&5S=`IT97AT('1E>'0-"@`` ` echo convert_uudecode(convert_uuencode($some_string)); //显示 test text text ?>
按字母顺序浏览:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
→我们致力于为广大网民解决所遇到的各种电脑技术问题 如果您认为本词条还有待完善,请 编辑词条
上一篇织梦更新数据库archives表时出错
下一篇