首页 > 代码库 > php常用函数之String篇【小琪整理 2014/10/08】
php常用函数之String篇【小琪整理 2014/10/08】
********************************字符串函数*****************************
trim(string,charlist);
用途:删除字符串两端的空格或其他预定义字符
>>例子:$str = "\r\nHello World!\r\n";
echo trim($str);
输出: Hello World!
rtrim(string,charlist); <=> chop(string,charlist);
用途:删除字符串右端的空格或其他预定义字符
ltrim(string,charlist);
用途:删除字符串左端的空格或其他预定义字符
dirname(path);
用途:返回路径中的目录部分,即除去文件名
>>例子:echo dirname("c:/testweb/home.php");
输出:c:/testweb
str_pad(string,length,pad_string,pad_type);
//说明:pad_type有3个可选参数,默认STR_PAD_RIGHT,即填充到字符串的右侧;另外两个分别是STR_PAD_LEFT,STR_PAD_BOTH
用途:把字符串填充为指定的长度;
>>例子:$str = "Hello World";
echo str_pad($str,20,".");
输出:Hello World.........
str_repeat(string,repeat);
用途:重复使用指定的字符串
>>例子:echo str_repeat(‘a‘,3);
输出: aaa
str_split(string[,lengh]);
//length的默认值为1
用途:把字符串分割到数组中
>>例子:print_r(str_split("Hello"));
输出: Array([0]=>"H" [1]=>"e" [2]=>"l" [3]=>"l" [4]=>"o");
strrev(string);
用途:反转字符串
>>例子:echo strrev("Hello");
输出:olleH
wordwrap(string,width,break,cut);
//参数说明:width 可选。规定最大行宽度。默认是 75。
break 可选。规定作为分隔符使用的字符(字串断开字符)。默认是 "\n"。
cut 可选。规定是否对大约指定宽度的单词进行折行。默认是 FALSE (no-wrap)。
用途:按照指定长度对字符串进行折行处理
>>例子:$str = "An example on a long word is: Supercalifragulistic";
echo wordwrap($str,15);
输出:An example on a long word is: Supercalifragulistic
str_shuffle(string);
用途:随机的打乱字符串中所有字符
>>例子:echo str_shuffle("HELLO");
输出: LOLEH
parse_str(string[,array]);
//说明:如果array不声明,变量将以变量形式存在,如遇变量名同名则覆盖
用途:将字符串解析成变量
>>例子:parse_str("id=23&name=John%20Adams",$myArray);
print_r($myArray);
输出:Array ( [id] => 23 [name] => John Adams )
number_format(number[,decimals[,decimalpoint[,separator]]]);
//参数说明:decimals使用点号(.)作为小数点来格式化数字
decimalpoint规定用作小数点的字符串
separator规定用作千分位分隔符的字符串
注意的是,该函数不支持仅使用三参数!
用途:通过千分位分组来格式化数字
>>例子:echo number_format("1000000").”<br />”;
echo number_format("1000000",2) .”<br />”;
echo number_format("1000000",2,",",".");
输出:1,000,000
1,000,000.00
1.000.000,00
strtolower(string);
用途:字符串全转为小写
>>例子:echo strtolower("HEllo");
输出:hello
strtoupper(string);
用途:字符串全转为大写
>>例子:echo strtoupper("HEllo");
输出:HELLO
ucfirst(string);
用途:强制字符串首字母大写,其他位不变
>>例子:echo ucfirst("jHKKll kii");
输出:JHKKll kii
ucwords(string);
用途:强制字符串每个单词首字母大写,其他位不变
>>例子:echo ucword("jHKKll kii");
输出:JHKKll Kii
strcasecmp(string1,string2);
用途:不区分大小写比较两个字符串,若str1=str2则返回0;若str1>str2且str1=str2+"其他字符"则返回正数,而str1为str2中或前插入其他字符则返回负数;若str1<str2且str2=str1+"其他字符"则返回<0的数,而str2为str1中或前插入其他字符则返回正数!
>>例子:echo strcasecmp("Hello world!","HELLO WORLD!");
输出:0
strcmp(string1,string2);
用途:区分大小写比较两个字符串,若str1=str2则返回0;若str1>str2且str1=str2+"其他字符"则返回1,而str1为str2中或后插入其他字符则返回-1;若str1<str2且str2="其他字符"+str1则返回-1,而str2为str1中或后插入其他字符则返回1!
>>例子:echo strcmp("Hello world!","Hello world!");
输出:0
strncmp(string1,string2,length);
用途:区分大小写比较两字符串前n个字符
strncasecmp(string1,string2,length);
用途:不区分大小写的比较两字符串前n个字符
strnatcmp(string1,string2);
用途:区分大小写的使用自然顺序法比较字符串长度
>>例子:echo strnatcmp("2Hello world!","10Hello world!");
echo strnatcmp("10Hello world!","2Hello world!");
输出:-1 1
strnatcasecmp(string1,string2);
用途:不区分大小写的使用自然顺序法比较字符串长度
>>例子:echo strnatcasecmp("2Hello world!","10Hello world!");
echo strnatcasecmp("10Hello world!","2Hello world!");
输出:-1 1
chunk_split(string,length,end);
用途:将字符串分成小块
>>例子:$str = "Hello world!";
echo chunk_split($str,1,".");
输出:H.e.l.l.o. .w.o.r.l.d.!.
strtok(string,split);
用途:切开字符串
>>例子:$string = "Hello world. Beautiful day today.";
$token = strtok($string, " ");
while ($token !== false)
{
echo "$token<br />";
$token = strtok(" ");
}
输出:Hello
world.
Beautiful
day
today.
array explode(string $sep,string $str[,int $limit])
用途:函数把字符串分割为数组
>>例子:$str = "Hello world. It‘s a beautiful day.";
print_r (explode(" ",$str));
输出:Array
(
[0] => Hello
[1] => world.
[2] => It‘s
[3] => a
[4] => beautiful
[5] => day.
)
implode(string separator,array); <=> join(string separator,array);
用途:函数把数组元素组合为一个字符串
>>例子:$arr = array(‘Hello‘,‘World!‘,‘Beautiful‘,‘Day!‘);
echo implode(" ",$arr);
输出:Hello World! Beautiful Day!
substr(string $str,int $start[,int $length]);
//说明:若start是负数且length小于等于start则length为0;
//参数说明:start为负数时从字符串倒数的位置开始,为0则从字符串第一个字符开始;length默认直到字符串结尾,若length为正数则截取length个字符,若为负数则从start到字符串的倒数第length个字符[-1为倒数第一个字符,截取不包含此字符]!
用途:截取字符串
>>例子:echo substr("Hello world!",-6,-6); //输出为空
echo substr("Hello world!",6,5);
echo substr("Hello world!",6,-1);
输出:world world
mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] );
//说明:个人用于截取中文字符,不出现乱码
用途:截取字符串的部分
>>例子:echo mb_substr("你最近还好吗",8,3); //$start为字符位置*2,$length为3,因为中文一个字占3个字节
输出:好
str_word_count(string $str[,int return[,char]]);
//说明:return默认为0,返回单词总个数;为1时返回包含字符串中的单词的数组;为2时返回一个键为单词所在字符串的位置、值为字符的数组。char为规定的特殊单词,即它也算单词!
用途:统计字符串含有的单词个数
>>例子:echo str_word_count("Hello world!");
print_r(str_word_count("Hello world!",1));
print_r(str_word_count("Hello world!",2));
print_r(str_word_count("Hello world & good morning!",1,"&"));
输出:2
Array([0]=>"Hello",[1]=>"world")
Array([0]=>"Hello",[6]=>"world")
Array([0]=>"Hello",[1] => "world",[2] => "&",[3] => "good",[4] => "morning")
int strlen(string);
用途:统计字符串的长度【包含空格!但是不包含C中的“/0”】
>>例子:echo strlen("Hello world!");
输出:12
count_chars(string,mode);
//说明:mode默认为0,参数如下
0 - 数组,ASCII 值为键名,出现的次数为键值
1 - 数组,ASCII 值为键名,出现的次数为键值,只列出出现次数大于 0 的值
3 - 字符串,带有所有使用过的不同的字符
用途:统计字符串中所有字母出现的次数
>>例子:$str = "Hello World!";
echo count_chars($str,3);
print_r(count_chars($str,1));
输出:!HWdelor
Array([32] => 1 [33] => 1 [72] => 1 [87] => 1 [100] => 1 [101] => 1 [108] => 3 [111] => 2 [114] => 1)
str_replace(find,replace,string[,count]);
//count即替换的次数
用途:区分大小写的替换字符串
>>例子:$find = array("Hello","world");
$replace = array("B");
$arr = array("Hello","world","!");
print_r(str_replace($find,$replace,$arr,$i));
echo $i;
输出:Array ( [0] => B [1] => [2] => ! ) 2
str_ireplace(find,replace,string[,count]);
用途:不区分大小写的替换字符串
>>例子:$find = array("Hello","world");
$replace = array("B");
$arr = array("HELLO","woRLd","!");
print_r(str_ireplace($find,$replace,$arr,$i));
echo $i;
输出:Array ( [0] => B [1] => [2] => ! ) 2
substr_count(string,substring[,start[,length]]);
用途:统计一个字符串在另一个字符串出现的次数
>>例子:echo substr_count("Hello world. The world is nice","world");
输出:2
substr_replace(string,replacement,start[,length]);
//说明:如果 start 是负数且 length 小于等于 start,则 length 为 0。
用途:替换字符串中某串字符为另一个字符串
>>例子:echo substr_replace("Hello world","earth",-6);
输出:Helloearth
similar_text(string1,string2[,percent]);
//percent为相似度[百分比]
用途:返回两个字符串相同字符的数量
>>例子:echo similar_text("Hello World","Hello Peter");
similar_text("Hello World","Hello Peter",$percent);
echo " ".$percent;
输出:7 63.636363636364
strrchr(string,char);
用途:返回一个字符串在另一个字符串中最后一次出现的位置开始到末尾的字符串
>>例子:echo strrchr("Hello world!","world");
echo "<br />";
echo strrchr("Hello world!",111);//是数字1不是L,o的ascii为111
输出:world!
orld!
strstr(string,search); <=> strchr(string,search);
用途:返回一个字符串在另一个字符串中开始位置到结束的字符串
>>例子:echo strstr("Hello world!",111);//是数字1不是L,o的ascii为111
输出:o world!
stristr(string,search); 无 strichr(string,search);!!!
用途:返回一个字符串在另一个字符串中开始位置到结束的字符串,不区分大小写
>>例子:echo stristr("Hello world!",111);
输出:o world!
strtr(string,from,to); 或者 strtr(string,array);
用途:寻找并转换字符串中的某些特定字符
//说明:如果 from 和 to 的长度不同,则格式化为最短长度。即取最短为准!
>>例子:echo strtr("Hilla Warld","ia","eo");//即i=>e,a=>o
$arr = array("Hello" => "Hi", "world" => "earth");
echo strtr("Hello world",$arr);
输出:Hello World
Hi earth
strpos(string,find[,start]);
用途:寻找字符串中某字符最先出现的位置,位置从0开始
>>例子:echo strpos("Hello world!","wo");
输出:6
strrpos(string,find[,start]);
用途:寻找字符串中某字符最后出现的位置,位置从0开始
>>例子:echo strrpos("Hello world!","o");
输出:7
stripos(string,find[,start]);
用途:寻找字符串中某字符最先出现的位置,位置从0开始,不区分大小写
>>例子:echo stripos("Hello world!","O");
输出:4
strripos(string,find[,start]); 非strirpos();
用途:寻找字符串中某字符最后出现的位置,位置从0开始,不区分大小写
>>例子:echo strripos("Hello world!","WO");
输出:6
strspn(string,charlist[,start[,length]]);
用途:返回字符串中包含的特定字符串中字符的数目,区分大小写
>>例子:echo strspn("Hello world!","kHlleo");
输出:5
strcspn(string,charlist[,start[,length]]);
用途:返回字符串中不符合mask的字符串长度,区分大小写
>>例子:echo strcspn("Hello world!","w");
输出:6
htmlentities(string[,quotestyle[,character-set]]);
//quotestyle默认仅编码双引号ENT_COMPAT,ENT_NOQUOTES为不编码任何引号,ENT_QUOTES编码单、双引号
用途:把字符转为HTML实体
>>例子:$str = "John & ‘Adams‘";
echo htmlentities($str)
输出:John & ‘Adams‘
htmlspecialchars(string[,quotestyle[,character-set]]);
用途:把一些预定义字符转为html实体,预定义字符如&=>&,"=>",‘=>‘,< =><,> =>>。
>>例子:$str = "John & ‘Adams‘";
echo htmlspecialchars($str);
输出:John & ‘Adams‘
nl2br(string);
用途:\n转义为html的<br>标签
>>例子:echo nl2br("One line.\nAnother line.");
输出:One line.
Another line.
strip_tags(string[,allow]);
//allow如有标签,则标签不被删除
用途:剥去HTML\XML\PHP的标签
>>例子:echo strip_tags("Hello <b><i>world!</i></b>");
输出:Hello world!
addcslashes(string,characters);
//说明:在对 0,r,n 和 t 应用 addcslashes() 时要小心。在 PHP 中,\0,\r,\n 和 \t 是预定义的转义序列。
用途:在指定的字符前添加反斜线转义字符串中的特殊字符
>>例子:$str = "Hello, my name is John Adams.";
echo addcslashes($str,‘m‘);
echo addcslashes($str,‘a..z‘);
输出:Hello, \my na\me is John Ada\ms.
H\e\l\l\o, \m\y \n\a\m\e \i\s \J\o\h\n \A\d\a\m\s.
\H\e\l\l\o, \m\y \n\a\m\e \i\s \J\o\h\n \A\d\a\m\s\.当‘a...z‘
stripcslashes(string);
用途:删除由addcslashes()添加的反斜线
>>例子:echo stripcslashes("Hello, \my na\me is Kai Ji\m.");
输出:Hello, my name is Kai Jim.
addslashes(string);
用途:指定预定义字符前添加反斜线,预定义字符包括‘和"和\和null
>>例子:$str = "Who‘s John Adams?";
echo $str . " This is not safe in a database query.<br />";
echo addslashes($str) . " This is safe in a database query.";
输出:Who‘s John Adams? This is not safe in a database query.
Who\‘s John Adams? This is safe in a database query.
stripslashes(string);
//说明:用于清理从数据库或HTML表单中取回的数据
用途:删除由addslashes()添加的反斜线
>>例子:echo stripslashes("Who\‘s John Adams?");
输出:Who‘s John Adams?
quotemeta(sting);
用途:在字符串中某些预定义字符(.和\和+和*和?和[]和^和$和())前添加反斜线
>>例子:$str = "Hello world. (can you hear me?)";
echo quotemeta($str);
输出:Hello world\. \(can you hear me\?\)
chr(ascii)
用途:由指定的ASCII码值返回相应的字符
>>例子:echo chr(52);
echo chr(052);
echo chr(0x52);
输出:4
*
R
ord(string/char);
用途:返回字符串中第一个字符的ASCII码值
>>例子:echo ord("h");
echo ord("hello");
输出:104
104
php常用函数之String篇【小琪整理 2014/10/08】