码迷,mamicode.com
首页 > 其他好文 > 详细

字符串相关处理函数

时间:2015-07-23 13:26:03      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:

1.单引号和多引号的区别

  (1)单引号:在单引号引起来的字符串中不能再包含单引号,即单引号不能嵌套使用。如果有必要在单引号中表示一个单引号的话,需要用反斜线(\)转义。另外,单引号字符串中出现的变量不会被变量的值替代。

  echo ‘this \n is \r a \t simple string \\‘;    //只能讲最后的反斜杠转义输出一个反斜杠,其他的转义都是无效的,会原样输出

  

  $str  = 100;

  echo ‘this is a simple $str string‘;      //会将变量$stri原样输出,并不会在单引号中解析这个变量

  在定义简单字符串时,使用单引号效率会更高。

  (2)双引号:转移字符“\”与其他字符合起来表示一个特殊字符,通常是一些非打印字符(如:\n),如果视图转义其他字符,反斜线本身也会被显示出来。另外,双引号字符串中出现的变量会被变量值替代,即可以解析双引号中的变量。

  $beer = ‘Heineken‘;

  echo "$beer‘s taste is great";    //可以将变量$beer解析,因为(‘)在变量名中是无效的.

  echo "He drank some $beers";   //不可以解析变量$beers,因为“s”在变量名中是有效的,没有$beers这个变量

  echo "He drank some ${beer}s";  //使用{}包含起来,就可以将变量分离出来解析了

  echo "He drank some {$beer}s";  //可以将变量解析,{}的另一种用法

2.常用的字符串输出函数  

  2.1 echo()

    该函数用于输出一个或多个字符串,echo()实际上不是一个函数(它是个语言结构),因此无须对其使用括号。如果向echo()传递一个或多个参数时,不能使用括号。

    $str = "What‘s LAMP?";

    echo $str;      //直接输出字符串变量不能加括号

    echo ‘This‘,‘string‘,‘was‘,‘made‘,‘width multiple parameters<br>‘;     //可以输出用逗号隔开的多个参数

  2.2 printf()

    该函数的功能和echo()的一样,它有返回值,若成功返回1,失败则返回0.但它的执行效率没有echo()函数高

  2.3 die()

    该函数是exit()函数的别名。如果参数是一个字符串,则该函数会在退出前输出它。如果参数是一个整数,这个值会被用作退出状态。退出状态的值在0至254之间。退出状态255由PHP保留,不会被使用。状态0用于成功地终止程序。

    $url = "http://www.brophp.net";

    fopen($url,"r") or die("Unable to connect to $url");      //如果打开失败则输出一条消息并退出程序

  2.4 printf()

    格式:printf(format,arg1,arg2....argn)

    该函数用于输出格式化的字符串,第一个参数为必选项,是规定的字符串及如何格式其中的变量。还可以有多个可选参数,是规定插到第一个参数的格式化字符串对应%符号处的参数。第一个参数中使用的转换格式,是以百分比符号("%")开始到转换字符结束(如:%d,表示带符号的十进制数,语法同C语言)。后面的多个参数将插入到主字符串中的百分号(%)符号处。该函数是逐步执行的。在第一个%符号中插入arg1,在第二个%符号处插入arg2,以此类推。如果%符号多于arg参数,则必须使用占位符。占位符被插入到%符号之后,有数字和"\$"组成。

    $str = "LAMP";

    $num = 798;

    printf("%s book.page number %u <br>",$str,$num);    //将字符串$str在第一个参数中的%出输出,按%s的字符串输出,整型$num按%u输出

  2.5 sprintf()

    该函数的用法和prinf()相似,但它并不是输出字符串,而是把格式化的字符串以返回值的形式写入到一个变量中。这样就可以在需要时使用格式化后的字符串。

    $num = 12345;

    $text = sprintf("%0.2f",$num);

    echo $text;          //12345.00

3.常用的字符串格式化函数

  3.1 去除空格和字符串填补函数

    3.1.1 ltrim()、rtrim(),trim()

      格式:string ltrim(string str[,string charlist])      

         string rtrim(string str[,string charlist])

         string trim(string str[,string charlist])

      这三个函数分别用于从字符串的左、右和两端删除空白字符或其他预定义字符。处理后的结果都会以新字符串的形式返回,不会在原字符串上修改。其中第一个参数str是待处理的字符串,为必选项。第二个参数charlist是过滤字符串,用于指定希望去除的特殊符号,该参数为可选。如果不指定过滤字符串,默认情况下会去掉下列字符。

    * "":空格

    * "\0":NULL

    * "\t":制表符

    * "\n":换行符

    * "\r":回车

    此外还可以使用".."符号指定需要去除的一个范围,例如"0..9"或"a..z"表示去掉ASCII码值中的数字和小写字母。

    $str = "   lamp  ";    //声明一个字符串,其中左侧有三个空格,右侧有两个空格,总长度为9个字符

    echo strlen($str);      //9

    echo strlen(ltrim($str));   //6

    echo strlen(rtrim($str));  //7

    echo strlen(trim($str));  //4

 

    $str = "123 This is a test ...";

    echo ltrim($str,"0..9");    //输出: This is a test ...

    echo rtrim($str,".");      //输出:123 This is a test

    echo trim($str,"0..9 A..z .");  //输出: his is a test

    3.1.2 str_pad()

      原型:string str_pad(string input ,int pad_length[,string pad_string[,int pad_type]])

      该函数用于按需求对字符串进行填补。该函数有4个参数,第一个参数是必选项,指名要处理的字符串。第二个参数也是必选项,给定处理后字符串的长度,如果该值小于原始字符串的长度,则不进行任何操作。第三个参数指定填补时所用的字符串,它为可选参数,如果没有指定则默认使用空格填补。最后一个参数指定填补的方向,它有三个可选值:STR_PAD_BOTH、STR_PAD_LEFT和STR_PAD_RIGHT,分别代表在字符串两端、左和右进行填补。也是一个可选参数,如果没有指定,则默认值是STR_PAD_RIGHT.

      $str = "LAMP";

      echo str_pad($str,10);    //输出:LAMP      长度为10,默认使用空格在右边填补"LAMP"

      echo str_pad($str,10,"-=",STR_PAD_LEFT);  //输出:-=-=-=LAMP

      echo str_pad($str,10,"_",STR_PAD_BOTH);  //输出:___LAMP___

      echo str_pad($str,6,"___");          //输出:LAMP__

  3.2 字符串大小写的转换

    例句:$lamp = "lamp is composed of Linux、Apace、MySQL and PHP";

    3.2.1 strtoupper()

      该函数用于将给定的字符串全部转换为大写字母,只有一个参数

      echo strtoupper($lamp);    //输出:LAMP IS COMPOSED OF LINUX、APACHE、MYSQL AND PHP

    3.2.2 strtolower()

      该函数用于将给定的字符串全部转换为小写字母,只有一个参数

      echo strtolower($lamp);    //输出:lamp is composed of linux、apache、mysql and php

    3.2.3 ucfirst()

      该函数用于将给定的字符串的首字母转换为大写,其余字母不变,只有一个参数

      echo ucfirst($lamp);    //输出:Lamp is composed of Linux、Apache、 MySQL and PHP

    3.2.4 ucwords()

      该函数用于将给定的字符串中全部以空格分隔的单词首字母转换为大写,只有一个参数

      echo ucwords($lamp);  //输出:Lamp Is Composed Of Linux、Apache、MySQL And PHP

  3.3和HTML标签相关的字符串格式化

    3.3.1 nl2br()

      该函数在字符串中的每个新行"\n"之前插入HTML换行符"<br/>".

      echo nl2br("One line.\nAnother line.");

      //输出:One line

          Another line

  

  

字符串相关处理函数

标签:

原文地址:http://www.cnblogs.com/xuying/p/4670023.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!