课程咨询 :13623629309

太原PHP培训 > 达内新闻 > 前端与PHP之间那点儿事(一)
  • 前端与PHP之间那点儿事(一)

    发布:博客园-原创精华区      来源:博客园-原创精华区      时间:2016-11-17

  • 前端与PHP之间那点儿事(一)

    前面的话

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

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

    特点

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

    echo substr( "1234567", 2, 4 ); //将字串用函数substr()处理,输出子字符串 345

    echo substr( 123456, 2, 4 ); //将整型用字串函数处理,输出同样是字符串 345

    echo hello; //先找hello常量,找不到就会将常名看作是字符串使用

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

    $str = "lamp";

    echo $str."

    ";

    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 传递多个参数,就不能使用小括号

    echo "Hello World";

    $foo = "foobar";

    echo "foo is $foo"; // foo is foobar

    echo $foo; // foobar

    ?>

    print()

    int print ( string $arg )

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

    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不可以

    echo '1','2','3';//123

    print 'a','b','c';//报错

    ?>

    exit()

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

    void exit ([ string $status ] )

    void exit ( int $status )

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

    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 十六进制数

    $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)

    ?>

    空格

    trim()

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

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

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

    " " (ASCII 32 (0x20)),普通空格符

    "\t" (ASCII 9 (0x09)),制表符

    "\n" (ASCII 10 (0x0A)),换行符

    "\r" (ASCII 13 (0x0D)),回车符

    "\0" (ASCII 0 (0x00)),空字节符

    "\x0B" (ASCII 11 (0x0B)),垂直制表符

    charlist为可选参数,过滤字符也可由charlist参数指定。一般要列出所有希望过滤的字符,也可以使用 “..” 列出一个字符范围

    ltrim()

    ltrim函数用于删除字符串开头的空白字符(或其他字符)

    rtrim()

    rtrim函数用于删除字符串末端的空白字符(或者其他字符)

    $text = " \t\tHello World a1a1a1 ";

    $trimmed = trim($text);

    var_dump($trimmed);//string 'Hello World a1a1a1' (length=18)

    $trimmed = trim($text, "a1 ");

    var_dump($trimmed);//string ' Hello World' (length=13)

    $trimmed = trim($text, "1..e ");//string ' Hello Worl' (length=12)

    var_dump($trimmed);

    $ltrimmed = ltrim($text);

    var_dump($ltrimmed);//string 'Hello World a1a1a1 ' (length=22)

    $rtrimmed = rtrim($text);

    var_dump($rtrimmed);//string ' Hello World a1a1a1' (length=23)

    ?>

    str_pad()

    str_pad()函数使用另一个字符串填充字符串为指定长度

    string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )

    该函数返回input被从左端、右端或者同时两端被填充到制定长度后的结果。如果可选的 pad_string 参数没有被指定,input 将被空格字符填充,否则它将被 pad_string 填充到指定长度

    [注意]如果pad_length的值是负数,小于或者等于输入字符串的长度,不会发生任何填充

    $input = "Alien";

    echo str_pad($input, 10); // 输出 "Alien "

    echo str_pad($input, 10, "-=", STR_PAD_LEFT); // 输出 "-=-=-Alien"

    echo str_pad($input, 10, "_", STR_PAD_BOTH); // 输出 "__Alien___"

    echo str_pad($input, 6 , "___");// 输出 "Alien_"

    ?>

    大小写

    strtolower()

    strtolower — 将字符串转化为小写

    strtoupper()

    strtoupper — 将字符串转化为大写

    ucfirst()

    ucfirst — 将字符串的首字母转换为大写

    ucwords()

    ucwords — 将字符串中每个单词的首字母转换为大写

    $foo = 'hello world!';

    var_dump(ucwords($foo));//string 'Hello World!' (length=12)

    var_dump(ucfirst($foo));//string 'Hello world!' (length=12)

    var_dump(strtoupper($foo));//string 'HELLO WORLD!' (length=12)

    var_dump(strtolower($foo));//string 'hello world!' (length=12)

    ?>

    HTML

    nl2br()

    nl2br — 在字符串所有新行之前插入 HTML 换行标记

    string nl2br ( string $string [, bool $is_xhtml = true ] )

    /*

    foo isn't

    bar

    */

    echo nl2br("foo isn't\n bar");

    ?>

    htmlspecialchars()

    string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") [, bool $double_encode = true ]]] )

    htmlspecialchars - 把指定特殊符号转换成实体

    & (ampersand) &

    " (double quote) ", unless ENT_NOQUOTES is set

    ' (single quote) ' or '

    < (less than) <

    > (greater than) >

    $new ="";

    echo $new;//弹出1

    $new = htmlspecialchars("");

    echo $new; //显示字符串""

    ?>

    $str = "WebServer: & 'Linux' & 'Apache'";//常有HTML标记和单引号的字符串

    echo htmlspecialchars($str, ENT_COMPAT);//转换HTML标记和转换双引号

    echo "

    \n";

    echo htmlspecialchars($str, ENT_QUOTES);//转换HTML标记和转换两种引号

    echo "

    \n";

    echo htmlspecialchars($str, ENT_NOQUOTES);//转换HTML标记和不对引号转换

    ?>

    htmlentities()

    string htmlentities ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") [, bool $double_encode = true ]]] )

    好了,今天就给大家讲这么多吧,喜欢我的内容可以关注或者分享(微信公众平台:tytedu)选择太原达内培训,不再孤军奋战,轻轻松松做IT高薪白领。太原达内培训带领有明确目标的学子迈向成功之路!

上一篇:捕获机密你懂么?

下一篇:前端与PHP之间那点儿事(二)

最新开班日期  |  更多

php高级开发名企定制班(剩2个名额)

php高级开发名企定制班(剩2个名额)

开班日期:12-30

php高级开发周末班(剩5个名额)

php高级开发周末班(剩5个名额)

开班日期:12-30

php高级开发免费试听(剩5个名额)

php高级开发免费试听(剩5个名额)

开班日期:12-30

更多高级开发工程师精品班

更多高级开发工程师精品班

开班日期:12-30

  • 地址:山西省太原市小店区学府街长治路高新国际A座24层
  • 课程培训电话:13623629309     全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56

    在线客服系统