ddxiami

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 5692|回复: 17

[细说PHP] 第11章字符串处理

[复制链接]
发表于 2013-8-7 13:41:40 | 显示全部楼层 |阅读模式
双引号中变量解析总结

<?php
        //声明一个关联数组,数组名为$lamp, 成员有4个
        $lamp = array( 'os'=>'Linux', 'webserver' =>'Apache', 'db'=>'MySQL', 'language'=>'php' );
       
        //可以解析,双引号中对于数组索引,右方括号(])标志着索引的结束,
        //但是注意:不要在[]中使用引号,否则会在引号处结束
        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]}.";
       
        //可以解析,对象中的成员也可以解析
        echo "This square is $square->width meters broad.";
       
        //不能解析,可以使用花括号解决
        echo "This square is $square->width00 centimeters broad.";
       
        //可以解析, 使用花括号解决
        echo "This square is {$square->width}00 centimeters broad.";
回复

使用道具 举报

 楼主| 发表于 2013-8-7 13:45:01 | 显示全部楼层
函数echo()

<?php
        $str = "What's LAMP?";                                   //定义一个字符串$str
        echo $str;                                                      //可以直接输出字符串变量
        echo "<br>";                                             //也可以直接输出字符串
        echo $str."<br>Linux+Apache+MySQL+PHP<br>";  //还可以使用点运算符号连接多个字符串输出

        echo "This
              text
              spans
              multiple
              lines.<br>";                                      //可以将一行文本换成多行输出
       
        //可以输出用逗号隔开的多个参数
        echo 'This ','string ','was ','made ','with multiple parameters<br>';

回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-7 13:46:29 | 显示全部楼层
函数print()
功能和echo()一样,它有返回值,若成功则返回1,失败则返回0,执行效率没有echo()函数高。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-7 13:47:35 | 显示全部楼层
函数die()
<?php
        $url = "http://www.brophp.net";                                       //定义一个网络文件的位置
        fopen($url, "r") or die("Unable to connect to $url");          //如果打开失败则输出一条消息并退出程序


回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-7 13:54:11 | 显示全部楼层
函数printf()
该函数用于输出格式化的字符串

<?php
        $str = "LAMP";                     //声明一个字符串数据
        $number = 789;                     //声明一个整型数据
     
        //将字符串$str在第一个参数中的%处输出,按%s的字符串输出,整型$number按%u输出
        printf("%s book. page number %u <br>", $str, $number); 

        //将整型$number按浮点数输出,并在小数点后保留3位
        printf("%0.3f <br>",$number);        

        //定义一个格式并在其中使用占位符
        $format = "The %2\$s book contains %1\$d pages.
           That's a nice %2\$s full of %1\$d pages. <br>";   

        //按格式的占位符号输出多次变量,%2$s位置处是第三个参数
        printf($format, $number, $str);         




回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-7 13:56:56 | 显示全部楼层
函数sprintf()
把格式化的字符串以返回值的形式写入到一个变量中。

<?php
        $num = 12345;                               //声明一个整数12345
        $txt = sprintf("%0.2f", $num);           //转换为保留两位小数的浮点数,并赋值给变量$txt
        echo $txt;                                   //在需要的地方就可以使用格式化后的文本$txt


回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-7 14:01:22 | 显示全部楼层
去除空格和字符串填补函数

<?php
        $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

回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-7 14:06:31 | 显示全部楼层
字符串大小写的转换

<?php
        $lamp = "lamp is composed of Linux、Apache、MySQL and PHP";
        
        echo strtolower( $lamp );          //输出:lamp is composed of linux、apache、mysql and php
        echo strtoupper( $lamp );          //输出:LAMP IS COMPOSED OF LINUX、APACHE、MYSQL AND PHP
        echo ucfirst( $lamp );             //输出:Lamp is composed of Linux、Apache、MySQL and PHP
        echo ucwords( $lamp );           //输出:Lamp Is Composed Of Linux、Apache、MySQL And PHP ?>

<?php
        $lamp = "lamp is composed of Linux、Apache、MySQL and PHP";
        echo ucfirst( strtolower($lamp) );         //输出: Lamp is composed of linux、apache、mysql and php
?>

回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-7 14:13:39 | 显示全部楼层
函数nl2br()

<?php
        echo nl2br("One line.\nAnother line.");             //在“\n”前加上“<br />”标记

        /*
                输出以下两行结果,在“\n”前加上“<br />”标记,如下所示:
                One line.<br />
                Another line.
        */
?>
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-7 14:15:46 | 显示全部楼层
函数htmlspecialchars()

<html>
        <body>
                <?php
                        $str = "<B>WebServer:</B> & 'Linux' & 'Apache'";         //常有HTML标记和单引号的字符串
                        echo htmlspecialchars($str, ENT_COMPAT);                      //转换HTML标记和转换双引号
                        echo "<br>\n";
                        echo htmlspecialchars($str, ENT_QUOTES);                      //转换HTML标记和转换两种引号
                        echo "<br>\n";
                        echo htmlspecialchars($str, ENT_NOQUOTES);                   //转换HTML标记和不对引号转换
                ?>
        </body>
</html>
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|技术文档库 ( 闽ICP备15017263号-2 )|网站地图

GMT+8, 2025-5-18 23:39 , Processed in 0.037672 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表