批改状态:合格
老师批语:为什么不敢去写一些咱们课堂上没讲过的字符串函数呢, 这样才能学到新东西
<?php//单引号和双引号//单引号不可以解析变量,双引可以!单引号基本都是字符串//解析变量可以使用{}$a='我';$b="你";echo "$a==和==$b==我是=={$b}",'<br>';echo '$a==没变==$b',"<br>";$a="我是一\r\n本书";echo $a.'<br>';// 转义字符"\"在单引号中只能转义自身和单引号自己//所以如下\r\n是不会被解析的。$a='我是\'一 \r\n 本书\\';echo $a.'<br>';echo '<hr>';//nowdoc和heredoc//相对应的是:heredoc类似双引号。nowdoc则类似于单引号;//heredoc内部的字符串不需要添加定界符,功能与双引号定义的字符串类似//注意结尾一定不可以有空格。heredoc里面也不可以加注释内容。$book=['author'=>'罗贯中','name'=>'三国演义','price'=>500];echo <<< BOOK<ul><li>作者:{$book['author']}</li><li>书名:{$book['name']}</li><li>价格:{$book['price']}</li></ul>这是我的书 \r\n price \\ 请购买BOOK;echo '<hr>';$name='阿心';$gender='人妖';$age=20;$adderess='西京省';$message=['name'=>$name,'gender'=>$gender,'age'=>$age,'adderess'=>$adderess];?><html><ul><li>姓名:<?php echo $message['name']?></li><li>性别:<?php echo $message['gender']?></li><li>年龄:<?php echo $message['age']?></li><li>籍贯:<?php echo $message['adderess']?></li></ul></html><?php//nowdoc// 内部的字符串不需要添加定界符// 功能与"单引号"定义的字符串类似// nowdoc适合大段php代码,而且不需要转义,也不需要解析内部变量的文本// 经常用于初始化类属性和类常量, 凡是需要静态数据的场景下都可以用echo <<<'CH'我是一个en语言,\r\n is php \ \' !<br>CH;class Test{const AB = <<< fooemail:123qq.com;<br>qq:123; \n\r \\wx:123;foo;}echo Test::AB;?>
<?php//打印输出函数://print,printf,print_r,vprintf,sprintf,vsprintf,fprintf,sscanf,number_format//printf格式输出;$title="wellcome 我的网站";printf('hello %s',$title);echo '<br>';//%s占位符占字符串。%d占位符占整数;注意里面%s的符号是``不是''。//下列表示查询数据库名为name查询2条。printf('select * from %s limit %d', 'name',2);echo '<hr>';//vpritf在一个格式化字符串中显示多个值,与 printf() 函数类似,接收一个数组参数,而不是一系列可变数量的参数//重点:【多个参数使用数组形式】:vprintf('select * from %s limit %d',['user',rand(0,10)]);echo '<hr>';//sprintf返回格式化字符串/注意:是“返回”。功能和printf一样,只不过一个是打印输出,一个是返回//这样写是不会有数据的:sprintf('select * from %s limit %d','id',3);//想要输出需要使用echo$sql=sprintf('select * from title limit 3');echo $sql;echo '<br>';//vprintf--输出格式化字符串,vsprintf--返回格式化字符串//例子同上://返回而不输出:并且多个参数要使用数组形式//错误写法,需要%s%d才可以 vsprintf('select * from name limit 20');vsprintf('select * from %s limit %d',['name',20]);$vsp=vsprintf('select * from %s limit %d',['name',20]);echo $vsp;echo '<br>';//同样需要使用数组方式vprintf('select * from %s limit %d',['name',20]);echo '<hr>';//fprintf--将格式化后的字符串写入到流//写入一个根据 format 格式化后的字符串到 由 handle 句柄打开的流中。//handle文件系统指针,是典型地由 fopen() 创建的 resource(资源)。//$hadnle需要W写入文件$hadnle=fopen('test.txt','w') or die('打开文件失败');//返回数据到$hadnlefprintf($hadnle,sprintf('select * from %s limit %d','sql',20));echo '<br>';//使用printf会有返回值。//fprintf($hadnle,printf('select * from %s limit %d','sql',20));//file_get_contents — 将整个文件读入一个字符串echo file_get_contents('test.txt');echo '<hr>';//sscanf — 根据指定格式解析输入的字符var_dump(sscanf('PHP-5000','PHP-%d'));echo '<br>';list($n)=sscanf('WWW-baidu.com','WWW-%s');echo $n;echo '<hr>';//number_format — 以千位分隔符方式格式化一个数字//属性(数字,小数几位,小数点形式,千位分隔符。)echo number_format(100000.333),'<br>';echo number_format(100000.333,5,'-','`'),'<br>';
<?php//implode — 将一个一维数组的值转化为字符串$arr=['name','age','email'];$imp=implode(',',$arr);echo $imp;echo '<hr>';$arr=[1,2,3,4,5,6];$imp=implode(',',$arr);echo $imp;echo '<hr>';//explode — 使用一个字符串分割另一个字符串//什么是分割?(如:localhost,roor。分隔符为“,”数据为localhost和root$sql='localhost,root,123,test,utf8';//可以选择分割几位print_r(explode(',',$sql,3));printf('<pre>%s</pre>',print_r(explode(',',$sql),true));list($local,$root,$pass,$name)=explode(',',$sql);$mysqli=new MySqli($local,$root,$pass,$name);
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号