PHP 字符串函数总结

来源:互联网 发布:手机版啊哈c语言 编辑:程序博客网 时间:2024/05/01 12:28
<?php header('content-type:text/html;charset=utf-8');//字符串非常重要!!!!!!!!!!!!!!!//字符串定义方式// ''只转译  ' /     但是“”转译的比较多// ""可以解析变量// ''速度比较快,不用分析变量,转译内用少。我们优先使用 ''$str1 = 'hello';$str2 = "hello";//写大段文本//heredoc<<<HTML ......HTML;   //类似于"" 可以解析文本中的变量//nowdoc<<<'HTML'......HTML;//字符串函数/*字符长度计算查找字符位置字符替换提取字符分割连接反转字符去除增加空格HTML代码/数据库安全处理字符比较字符字符大小写转换*/number_format('123456789');//123,456,789 使用科学计数法表示字符串str_repeat(' ', 10); //重复空格10次//计算字符串长度$t1 = 'abcdefghijklmn abcdefg';  $t2 = '我是中国人';echo strlen($t1),'<br />';   //22//计算字符长度echo mb_strlen($t2,'utf-8'), '<br />';  //utf-8 必须加 ''  //5 //计算字节长度//反转字符echo strrev($t1).'<br />';//gfedcba nmlkjihgfedcba 反转字符//reverse 背面,反面 反转 同数组反转array_reverse 字符串是strrve//查找自字符串的位置$t1 = 'abcdefghijklmn abcd.efg';$t3 = 'd';$t4 = 'bc';echo strpos($t1, $t3), '<br />';  //区分大小写,查找第一次出现的位置//返回值为intecho stripos($t1, 'c'), '<br />'; //不区分大小写,返回字符串在另一个字符串出现的位置echo strrpos($t1, '.'), '<br />';  //区分大小写,最后一次出现的位置  //19echo strrchr($t1, '.').'<br />';//查找字符串最后出现的位置,并打印之后的  //.efg//字符串替换$t1 = 'abcdefghijklmn abcdefg';$t5 = 'opqrsruvw';echo str_replace('Abc', 'dEfg', $t1), '<br />';  //区分大小写,如果不同不会进行替换,在$t1中,defg替换掉abcecho str_ireplace('ABC', 'HAHAha', $t1), '<BR />';//进行替换 //不区分大小写echo strtr($t1, 'aBCd', 'HAHAHA'),'<bR />'; //HAHAHA只替换成HbcA,中间BC不被替换,只替换4位// 区分大小写,但是还是会进行替换 //只是截取等长部分,区分大小写,而且之替换相同的echo substr_replace($t1, $t5, 4, 3),'<br>'; //$t5从$t1的第4位开始替换,$t1失去3字节的内容,如果没有写3,则默认替换掉$t1从第4位后的所有字节//截取字符串$t1 = 'abcdefghijklmn abcdefghijklmnopq';$t6 = 'fg';echo substr($t1, 3, 5),'<bR /><br />'; //defgh //从$t1的第3位开始,截取5字节内容,默认截取余下全部echo mb_substr($t1, 1, 10, 'UTF8');  //从第1位开始,长度为10,字符编码为 UTF-8 截取, 返回值stringecho strstr($t1, $t6),'<br />'; //从$t1中找到$t6,截取后半截,$t6必须完全存在于$t1中,且区分大小写echo stristr($t1, 'FGH'),'<br />'; //同上不区分大小写echo strrchr($t1, $t6), '<br />';//$t6最后一次出现的位置截取到最后//分割, 连接, 反转字符串 $t1 = 'abcde fghijklmn abcde fgh ijklm nopq';var_dump(str_split($t1, 5)); //返回数组类型, 把$t1按照5个字节分成数组echo '<br />';/*array (size=7)  0 => string 'abcde' (length=5)  1 => string 'fghij' (length=5)  2 => string 'klmn ' (length=5)  3 => string 'abcde' (length=5)  4 => string 'fghij' (length=5)  5 => string 'klmno' (length=5)  6 => string 'pq' (length=2)*/var_dump(split('ij', $t1, 5)) ;//将$t1以'ij'进行分割5次,如果后面还出现将不进行分割$t7 = explode(' ', $t1); //将$t1以空格分开,返回数组,echo $t7[0], '<br />', $t7[3], '<br />';//abcde  fghvar_dump($t7);/*array (size=6)  0 => string 'abcde' (length=5)  1 => string 'fghijklmn' (length=9)  2 => string 'abcde' (length=5)  3 => string 'fgh' (length=3)  4 => string 'ijklm' (length=5)  5 => string 'nopq' (length=4)*/echo implode($t7, '/'), '<br />';//abcde/fghijklmn/abcde/fgh/ijklm/nopq //将$t7用 / 连接起来,并且以字符串的形式返回//空白处理字符串$t1 = '   abcde fghijklmn abcde fgh ijklm nopq  ';echo trim($t1), '<br />';//处理$t1 前后 的空白字符,包括 ""空格  "\t"制表符 "\n"换行符 "\r"回车符 "\0"空字节 "\x08"垂直制表符echo ltrim($t1),'<br />';//处理$t1 前 的空白字符,同上//可查看网页源代码echo rtrim($t1),'<br />';//处理$t1 后 的空白字符,同上ECHO chunk_split('abcdefghijklmnopq', 3, ','),'<BR />';//abc,def,ghi,jkl,mno,pq,//将字符串按照 3个字符+一个,分割开,并连起来echo str_pad('zxd', 6),'<br />';//将 zxd 填充到6个字节echo str_pad('zxd', 6, '_',STR_PAD_LEFT),'<BR />';//___zxd  以 _ 对 zxd 进行填充 // STR_PAD_LEFT  STR_PAD_BOTH 或者不填则直接填到最后//字符转义 $t8 = "My name\id Xiaodong'ZHANG";$t9 = "My name\\id Xiaodong\'ZHANG";echo addslashes($t8),'<br/>'; //My name\\id Xiaodong\'ZHANG  使用反斜线引入字符串 //为了向数据库中输入带有 " ' \ null 的数据的时候使用的,echo stripslashes($t9),'<br />';//My nameid Xiaodong'ZHANG 反引用一个引用字符串  同上相反,从数据库中提取数据//没有搞懂,同以下几个都没搞懂  echo get_magic_quotes_gpc();echo htmlspecialchars('<h1>HEllp'),'<br />';//将字符串中的一些字符转换成HTML实体,其中< >被翻译成< >echo htmlspecialchars_decode('<h1>HEllp'),'<br />';//<h1>HEllp  //同上相反,这个是在网页中显示效果,上则是在源代码中显示效果echo htmlentities('html<h1><p>'),'<br />';//把字符串中所有可以转换的字符换成HTML实体echo html_entity_decode('< > haha'),'<br />';//同上 相反// echo '<h1>nihao<h1> <br />';//直接在网页上输出大写的nihao 类似于网页效果// echo '<h1> nihao<h1>','<br />';//直接转译成<h1> nihao 并且自带效果echo 'heiadk<br />';//上两行必须屏蔽掉,否则之后的自带h1效果//字符串比较echo strcmp('abcd', 'abcde').'<br />'; //-1 //str1大于str2是为正数,相等为0echo strcasecmp('ABcDe', 'abcDE').'<br />'; //0//字符串转换大小ECHO strtolower('ABcDeFg').'<br />'; //abcdefgecho strtoupper('strinABcDeFg').'<br />';//STRINABCDEFGecho ucfirst('andjfJSUD').'<BR />'; //AndjfJSUD 首字母为大写echo ucwords('my name Is zhang XAIO dong').'<br />'; //My Name Is Zhang XAIO Dong 每个单词的首字母大写/*常见面试题http://www.zixue.it/forum.php?mod=viewthread&tid=249http://www.zixue.it/forum.php?mod=viewthread&tid=134http://www.zixue.it/forum.php?mod=viewthread&tid=121http://www.zixue.it/forum.php?mod=viewthread&tid=189http://www.zixue.it/forum.php?mod=viewthread&tid=137http://www.zixue.it/forum.php?mod=viewthread&tid=149http://www.zixue.it/forum.php?mod=viewthread&tid=151http://www.zixue.it/forum.php?mod=viewthread&tid=208*/// 将1234567890转换成1,234,567,8 $str1 = '1234567890';$str4 = strrev($str1);$str2 = chunk_split($str4, 3, ','); //098,765,432,1,$str3 = substr($str2, 2, 11);echo strrev($str3);echo number_format('123456789');

1 0
原创粉丝点击