TOP

前端学PHP之字符串函数(一)
2017-10-10 11:55:19 】 浏览:10290
Tags:前端 PHP 字符串 函数

前面的话

  字符串的处理和分析在任何编程语言中都是一个重要的基础,往往是简单而重要的。信息的分类、解析、存储和显示,以及网络中的数据都需要操作字符串来完成。尤其在web开发中更为重要,程序员大部分工作都是在操作字符串,本文将详细介绍php中的字符串函数

  [注意]关于java script中字符串的属性和方法移步至此

 

特点

  因为php是弱类型语言,所以其他类型的数据一般都可以直接应用于字符串操作函数中,而自己转换成字符串类型进行处理

echo substr( "1234567", 2, 4 );  //将字串用函数substr()处理,输出子字符串 345
echo substr( 123456, 2, 4 );     //将整型用字串函数处理,输出同样是字符串 345
echo hello;           //先找hello常量,找不到就会将常名看作是字符串使用

  字符串貌似数组,可以使用中括号语法,但由于无法与真正的数组进行区别,带来二义性,所以最好使用功能相同的花括号

$str = "lamp";       
echo $str."<br>";       
echo $str{0};//输出字符串$str中第一个字符l
echo $str[1];//输出字符串$str中第二个字符a,[]也可以,不过已过时

  在处理变量解析时,如果在字符串中遇到美元符号,解析器会尽可能多地取得后面的字符以组成一个合法的变量名,如果想明确指定名字的结束,用花括号把变量名括起来

    $lamp = array('os'=>'Linux');
  
    //可以解析
    echo "A OS is $lamp[os].";
    
    //不能解析,如果在对关联数组下标使用引号就必须使用花括号,否则将出错
    echo "A OS is $lamp['os'].";
    
    //可以解析,如果在对关联数组下标使用引号就必须使用花括号,否则将出错
    echo "A OS is {$lamp['os']}.";
    
    //可以解析,注意PHP将数组下标看作常量名,常量不存在时将常量名称转为字符串,效率低
    echo "A OS is {$lamp[os]}.";

  [注意]在php中,一个GB2312编码的汉字占2个字节,一个UTF-8编码的汉字占3个字节

 

输出

echo()

void echo ( string $arg1 [, string $... ] )

  echo()函数用来输出一个或多个字符串,它会输出所有参数,且不会换行,没有返回值

  echo不是一个函数, 因此不一定要使用小括号来指明参数,单引号,双引号都可以。另外,如果想给echo 传递多个参数,就不能使用小括号

<?php
echo "Hello World";
$foo = "foobar";
echo "foo is $foo"; // foo is foobar
echo $foo;          // foobar
?>

print()

int print ( string $arg )

  print()函数用来输出字符串,且总是返回 1

<?php
print("Hello World");
$foo = "foobar";
print "foo is $foo"; // foo is foobar
print $foo;          // foobar
?>
var_dump(echo('123'));//报错
var_dump(print('123'));//int 1

  echo可以接受多个参数(不可以加括号),而print不可以

<?php
echo '1','2','3';//123
print 'a','b','c';//报错
?>

exit()

  exit()函数用来输出一个消息并且退出当前脚本,没有返回值,同名函数为die()

void exit ([ string $status ] )
void exit ( int $status )

  如果 status 是一个字符串,在退出之前该函数会打印status;如果 status 是一个 integer,该值会作为退出状态码,并且不会被打印输出。退出状态码应该在范围0至254,不应使用被PHP保留的退出状态码255。 状态码0用于成功中止程序

<?php
exit('0');//0
exit(0);//无返回值
?>

printf

  printf()函数用于输出格式化字符串

int printf ( string $format [, mixed $args [, mixed $... ]] )

sprintf

  sprintf()函数用于把格式化的字符串写入一个变量中

string sprintf ( string $format [, mixed $args [, mixed $... ]] )

  字符串转换格式如下

%%    返回百分比符号
%b    二进制数
%c    依照ASCII值的字符
%d    带符号十进制数
%e    科学计数法(如1.5e3%u    无符号十进制数
%f或%F     浮点数
%o        八进制数
%s        字符串
%x或%X    十六进制数
<?php
$var = 10;
printf("%%,%b,%c,%d,%e,%u,%o,%f,%s,%x",$var,$var,$var,$var,$var,$var,$var,$var,$var,$var);//%,1010, ,10,1.000000e+1,10,12,10.000000,10,a
$result = sprintf("%%,%b,%c,%d,%e,%u,%o,%f,%s,%x",$var,$var,$var,$var,$var,$var,$var,$var,$var,$var);
var_dump($result);//string '%,1010, ,10,1.000000e+1,10,12,10.000000,10,a' (length=44)
?>

  上面的两个函数不仅可以设置转换类型,还可以设置精确度、填充符和对齐方式

%15   将结果填充到15位
%.2   将结果保留小数点后两位
%#    在结果前面填充#号
%-   左对齐
printf("%'#10.3f",123);//###123.000
printf("%10.3f",123);// 123.000(右对齐)
printf("%-10.3f",123);//123.000   (左对齐)

 

空格

trim()

  trim()函数用于去除字符串首尾处的空白字符(或者其他字符),过滤后的字符串

string trim ( string $str [, string $charlist = " \t\n\r\0\x0B" ] )

  此函数返回字符串str去除首尾空白字符后的结果。如果不指定第二个参数,trim() 将去除这些字符:

首页 上一页 1 2 3 4 5 下一页 尾页 1/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇PHP的变量和常量 下一篇找到工作了,说说面试遇到的问题