首页 > 代码库 > 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_type3个可选参数,默认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>str2str1=str2+"其他字符"则返回正数,而str1str2中或前插入其他字符则返回负数;若str1<str2str2=str1+"其他字符"则返回<0的数,而str2str1中或前插入其他字符则返回正数!

>>例子:echo strcasecmp("Hello world!","HELLO WORLD!");

  输出0

 

strcmp(string1,string2);  

用途:区分大小写比较两个字符串,str1=str2则返回0;若str1>str2str1=str2+"其他字符"则返回1,而str1str2中或后插入其他字符则返回-1;若str1<str2str2="其他字符"+str1则返回-1,而str2str1中或后插入其他字符则返回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小于等于startlength0

//参数说明: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$length3,因为中文一个字占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 值为键名,出现的次数为键值,只列出出现次数大于 的值

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;

  输出  63.636363636364

 

strrchr(string,char);

用途:返回一个字符串在另一个字符串中最后一次出现的位置开始到末尾的字符串

>>例子:echo strrchr("Hello world!","world");

    echo "<br />";

    echo strrchr("Hello world!",111);//是数字1不是Loascii111

  输出world!

    orld!

 

strstr(string,search); <=> strchr(string,search);

用途:返回一个字符串在另一个字符串中开始位置到结束的字符串

>>例子:echo strstr("Hello world!",111);//是数字1不是Loascii111

  输出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);

//说明:在对 0r和 应用 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】