/*=================常用字符串处理函数==================
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:\PHPEnv\ReadMe.txt
$path = "D:\PHPEnv\ReadMe.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 "\n";
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 "\n";
echo $str."==替换的个数:".$count; /* 18、strcmp(字符串1,字符串2) /strcasecmp(字符串1,字符串2)【二进制比较】
=0 - 如果两个字符串相等
<0 - 如果 string1 小于 string2
>0 - 如果 string1 大于 string2
示例:*/
echo "\n";
echo strcmp("Hello", "hello"); //-1 区分大小写比较(内部进行二进制级别比较)
echo strcasecmp("Hello", "hello"); //0 忽略大小写比较(内部进行二进制级别比较) /* 19、strnatcmp(字符串1,字符串2) 使用一种“自然”算法来比较两个字符串。【自然排序法比较】
strnatcasecmp(字符串1,字符串2);
在自然算法中,数字 "2" 小于数字 "10"。在计算机排序中,"2" 大于 "10",这是因为 "2" 大于 "10" 的第一个数字。
示例:*/
echo "\n";
echo strnatcmp("5", "20"); //-1 区分大小写比较
echo strnatcasecmp("H", "h"); //0 忽略大小写比较 /* 20、soundex(str)计算字符串的 soundex 键返回键值,表示一个英文单词的发音 【模糊比较】
similar_text(str1,str2,percent) 返回匹配数量
计算两个字符串的匹配字符的数目,参数3:存储百分比相似度的变量
示例:*/
echo "\n";
echo soundex("hello"); //H400
echo "\n";
echo similar_text("first", "fire",$pct);//3
echo("\n".$pct); //66.666666666667 /* 21、strtr(str,oldChr,newChr) 【转换特定的字符】
示例:*/
echo "\n";
echo strtr("hello word yes", "lo", "TW");//heTTW wWrd yes /* 22、stripslashes(str) 删除字符串中的反斜杠(用于清理从数据库或 HTML 表单中取回的数据。)
示例:*/
echo "\n";
echo stripcslashes("D:\PHPEnv\ReadMe.txt");//D:PHPEnvReadMe.txt /* 23、htmlentities(string,[quotestyle],[character-set]) 把字符转换为 HTML 实体
[quotestyle]:编码单引或双引号
ENT_COMPAT - 默认。仅编码双引号。
ENT_QUOTES - 编码双引号和单引号。
ENT_NOQUOTES - 不编码任何引号。
[character-set]:指定转换的编码
示例:*/
echo "\n";
echo stripcslashes("<div>hello</div><b>word</b>");//按HTML格式输出,标签会被解释执行 /* 24、strip_tags(str,[allow]) 默认剥去 HTML、XML 以及 PHP 的标签。
[allow]:指定要保留的标签
示例:*/
echo "\n";
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 "\n";
printf("%0.2f","222.25466"); //222.25 以小数输出,精确到2位小数 echo "\n";
echo ord("A");//只转码第一个字符为ASCII码 echo "\n";
printf("%c", 0x41); //A 将16进进制的数字转换为ASCII码表示的字符 echo "\n";
printf("%c", 0101); //A 第二个参数一定不能用单/双引号 echo "\n";
printf("%c", 65); //A 第二个参数一定不能用单/双引号 echo "\n";
printf("%c", '01000001'); //A echo "\n";
echo chr(100); //d