/*=================常用字符串处理函数==================
ltrim(); //去掉字符串左边的空格
rtrim(); //去掉字符串右边的空格
trim(); //去掉字符串两边的空格
strlen(); //获取字符串长度
strrev(); //反转字符串顺序
strtolower(); //所有字符转小写
strtoupper(); //所有字符转大写
ucfirst(); //将字符串中第一个字符改为大写
ucwords(); //将字符串中每个单词第一个字母改为大写
explode(); //使用一个字符串分割另一个字符串
implode(); //联合一组字符串
substr(); //取子字符串
strstr(); //返回字符串中某字符串开始处至结束的字符串
strrchr(); //返回组后出现的字符串到结束的位置。
strpos(); //寻找字符串中某字符最先出现的位置。
strrpos(); //寻找字符串中某字符最后出现的位置。
str_pad(); //字符串的填补函数
*/
/* 1、ltrim(); //去掉字符串左边的空格 示例:*/ $str1 = " abc "; $newStr1 = ltrim($str1); echo "结果:".$newStr1."长度:".strlen($newStr1);//结果:abc 长度:5 /* 2、rtrim(); //去掉字符串右边的空格 示例:*/ $newStr2 = rtrim($str1); echo "结果:".$newStr2."长度:".strlen($newStr2);//结果: abc长度:5 /* 3、trim(); //去掉字符串两边的空格 示例:*/ $newStr3 = trim($str1); echo "结果:".$newStr3."长度:".strlen($newStr3);//结果:abc长度:3 /* 4、strlen(); //获取字符串长度 示例:*/ echo strlen($str1); //7 /* 5、strrev(); //反转字符串顺序 示例:*/ $str2 = "how are You"; echo strrev($str2);//uoy era woh /* 6、strtolower(); //所有字符转小写 示例:*/ echo strtolower($str2);//how are you /* 7、strtoupper(); //所有字符转大写 示例:*/ echo strtoupper($str2);//HOW ARE YOU /* 8、ucfirst(); //将字符串中第一个字符改为大写 示例:*/ echo ucfirst($str2);//How are You /* 9、ucwords(); //将字符串中每个单词第一个字母改为大写 示例:*/ echo ucwords($str2);//How Are You /* 10、explode(参数1,参数2,[参数3]) 分割字符串返回一个数组类型 【等同于C# split()方法】 参数1:分割符 参数2:要分割的字符串 参数3:可选参数。分割为几份 示例:*/ $strArr1 = explode(" ", $str2); $strArr2 = explode(" ", $str2,2); var_dump($strArr1); var_dump($strArr2); //array(3) { // [0]=> // string(3) "how" // [1]=> // string(3) "are" // [2]=> // string(3) "You" // } // array(2) { // [0]=> // string(3) "how" // [1]=> // string(7) "are You" // } /* 11、implode(参数1,参数2) 拼接字符串 【等同于javascript数组对象的join()方法】 参数1:拼接符 参数2:要处理的字符串数组 示例:*/ $arr = array(2,8,5,6,1,7); echo implode(",", $arr);//2,8,5,6,1,7 /* 12、substr(参数1,参数2,[参数3]) 截取字符串 参数1:要操作的字符串, 参数2:开始位置, 参数3:可选参数,要截取的长度。 示例: */ $str3 = "192.168.1.88"; echo substr($str3, 4);//168.1.88 echo substr($str3, 4,3);//168 /* 13、strstr(参数1,参数2) 从指定的字符串开始,截取字符串 // 此方法还可以写作strchr() 参数1:要操作的字符串 参数2:开始位置的字符串 示例:*/ echo strstr($str3, "6");//68.1.88 /* 14、strpos(参数1,参数2,[参数3]) 查找指定字符串出现的位置 【等价于C#中的IndexOf()方法】 参数1:操作的字符串 参数2:要查找的字符串 参数3:可选参数,开始位置。 示例:*/ $str4 = "Great hopes make great man"; echo strpos($str4, "o");//7 echo strpos($str4, "e",4);//9 /* 15、 strrpos(参数1,参数2) 查找指定字符串最后一次出现的位置 【等价于C#中的LastIndexOf()方法】 参数1:要操作的字符串 参数2:要查找的字符串 示例:*/ echo strrpos($str4, "a");//24 // 在路径中查找文件名D:PHPEnvReadMe.txt $path = "D:PHPEnvReadMe.txt"; echo "文件名为:".substr($path, strrpos($path,"\")+1);//文件名为:ReadMe.txt /* 16、str_pad(参数1,参数2,[参数3],[参数4]) 填补字符串 参数1:要操作的字符串 参数2:新字符串长度 参数3:可选参数,要填补的字符串 参数4:可选参数,填补类型 STR_PAD_BOTH、STR_PAD_RIGHT、STR_PAD_LEFT 示例:*/ echo str_pad($str4, 50,"=",STR_PAD_BOTH);//============Great hopes make great man============ /* 17、str_replace(参数1,参数2,str,count) 字符串替换 str_replace(search, replace, subject) 参数1:要替换的字符/数组 参数2:新的字符/数组 参数3:操作的字符串 count: 替换的个数 示例:*/ echo " "; echo str_replace("t", "M", $str4);//GreaM hopes make greaM man $str="选1、选2、选3、选4"; $arr=array("1","2","3","4"); $arr1=array("a","b","c","d"); $str=str_replace($arr,$arr1,$str,$count); echo " "; echo $str."==替换的个数:".$count; /* 18、strcmp(字符串1,字符串2) /strcasecmp(字符串1,字符串2)【二进制比较】 =0 - 如果两个字符串相等 <0 - 如果 string1 小于 string2 >0 - 如果 string1 大于 string2 示例:*/ echo " "; echo strcmp("Hello", "hello"); //-1 区分大小写比较(内部进行二进制级别比较) echo strcasecmp("Hello", "hello"); //0 忽略大小写比较(内部进行二进制级别比较) /* 19、strnatcmp(字符串1,字符串2) 使用一种“自然”算法来比较两个字符串。【自然排序法比较】 strnatcasecmp(字符串1,字符串2); 在自然算法中,数字 "2" 小于数字 "10"。在计算机排序中,"2" 大于 "10",这是因为 "2" 大于 "10" 的第一个数字。 示例:*/ echo " "; echo strnatcmp("5", "20"); //-1 区分大小写比较 echo strnatcasecmp("H", "h"); //0 忽略大小写比较 /* 20、soundex(str)计算字符串的 soundex 键返回键值,表示一个英文单词的发音 【模糊比较】 similar_text(str1,str2,percent) 返回匹配数量 计算两个字符串的匹配字符的数目,参数3:存储百分比相似度的变量 示例:*/ echo " "; echo soundex("hello"); //H400 echo " "; echo similar_text("first", "fire",$pct);//3 echo(" ".$pct); //66.666666666667 /* 21、strtr(str,oldChr,newChr) 【转换特定的字符】 示例:*/ echo " "; echo strtr("hello word yes", "lo", "TW");//heTTW wWrd yes /* 22、stripslashes(str) 删除字符串中的反斜杠(用于清理从数据库或 HTML 表单中取回的数据。) 示例:*/ echo " "; echo stripcslashes("D:PHPEnvReadMe.txt");//D:PHPEnvReadMe.txt /* 23、htmlentities(string,[quotestyle],[character-set]) 把字符转换为 HTML 实体 [quotestyle]:编码单引或双引号 ENT_COMPAT - 默认。仅编码双引号。 ENT_QUOTES - 编码双引号和单引号。 ENT_NOQUOTES - 不编码任何引号。 [character-set]:指定转换的编码 示例:*/ echo " "; echo stripcslashes("<div>hello</div><b>word</b>");//按HTML格式输出,标签会被解释执行 /* 24、strip_tags(str,[allow]) 默认剥去 HTML、XML 以及 PHP 的标签。 [allow]:指定要保留的标签 示例:*/ echo " "; echo strip_tags("<div>hello</div><b>word</b>","<b>");//过滤掉div保留b标签 /* 25、parse_str() 解析URL中传递的参数*/ parse_str("id=23&name=John%20Adams",$myArray); print_r($myArray); // Array // ( // [id] => 23 // [name] => John Adams // ) /* 26、 http_build_query(); 构造URL传递参数*/ $data = array('foo'=>'bar', 'baz'=>'boom', 'cow'=>'milk', 'php'=>'hypertext processor'); echo http_build_query($data); /* 输出: foo=bar&baz=boom&cow=milk&php=hypertext+processor */ //将对象构造为参数 class myClass { var $foo; var $baz; function myClass() { $this->foo = 'bar'; $this->baz = 'boom'; } } $data = new myClass(); echo http_build_query($data); /* 输出: foo=bar&baz=boom */ // URL编码处理函数 // urlencode(); // urldecode(); //其它: echo " "; printf("%0.2f","222.25466"); //222.25 以小数输出,精确到2位小数 echo " "; echo ord("A");//只转码第一个字符为ASCII码 echo " "; printf("%c", 0x41); //A 将16进进制的数字转换为ASCII码表示的字符 echo " "; printf("%c", 0101); //A 第二个参数一定不能用单/双引号 echo " "; printf("%c", 65); //A 第二个参数一定不能用单/双引号 echo " "; printf("%c", '01000001'); //A echo " "; echo chr(100); //d