Blogger Information
Blog 21
fans 0
comment 1
visits 19076
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
字符串的四种创建方式与常用函数
XFY_肆意De...
Original
2352 people have browsed it

字符串的定义

定义字符串 使用 单引号 ''或 双引号 "" ;

  1. 1、单引号'';
  1. $name = '张三';
  2. echo $name ;
  3. //得到的结果就是:张三;
  4. $age = 18;
  5. $name = '张三',$age;
  6. echo $name;
  7. //返回的结果就是:张三$age;

总结:由此可见''单引号不能解析变量,,这么理解!如果需要解析变量里面的变量,就必须使用双引号;

  1. 2、双引号"";
  1. $age = 18;
  2. $name = "张三,$age";
  3. echo $name;
  4. //返回的结果就是:张三,18;

总结:双引号能干些单引号不能干的事情!;

特殊字符的解析;

先上代码:

  1. $name ="\张三\";
  2. echo $name;
  3. //结果 \张三\;
  4. //但是我想解析反斜线 怎么办呢?
  5. //只需要在特殊字符前加上"\"即可 ,定界符(转义符)即可。
  6. $name ="\\张三\\";
  7. echo $name;

总结:貌似简单的定界符,在使用起来的时候,会遇到一些问题,比如说,需要转义的多个字符,难免自己会多写,或是少写,导致报错的问题出现,所以php还提供了一些双引号的升级版提供使用!

  1. //1。heredoc
  2. 基本语法:<<<标识符开始
  3. echo 需要解析的内容;
  4. 标识符结尾;
  5. 例:
  6. $name="张三";
  7. echo <<< my_name
  8. <a href="" style='color:red;'>{$name}</a>
  9. my_name;

此方法非常适用于php+html代码混编模式 既然提供""双引号升级版,那肯定就有单引号升级版咯!

  1. //2、nowdoc 唯一区别需要在标识符上加上单引号''
  2. $name="张三";
  3. echo <<< 'my_name'
  4. <a href="" style='color:red;'>{$name}</a>
  5. my_name;
字符串常用函数

printf() 、vprintf() 、sprintf() 、 vsprintf()
printf()输出格式化的字符串;

  1. //语法要求:printf('内容',标识符+);
  2. $name ="张三";
  3. printf("我的名字叫%s",$name);
  4. //输出,我的名字叫张三;
  5. /*
  6. 总结:%s 代表的占位符。就好比去上厕所,占个坑一样的!s代表的是字符串的意思!
  7. 当然还有%d 代表整数;
  8. */

vprintf() 和printf()差不多,只是后面的参数列使用的是数组形式

  1. $table='users'; //表名
  2. $limit=10; //返回条目
  3. vprintf('SELECT * FROM `%s` LIMIT %d', [$table, $limit]);
  4. //输出:SELECT * FROM `users` LIMIT 10
  5. //总结,和printf一样,参数列表的数组是依此填充!!

sprintf()返回格式化的字符串(与printf()类似,不输出,返回格式化后的字符串)

  1. $table='users'; //表名
  2. $limit=10; //返回条目
  3. $sql = sprintf('SELECT * FROM `%s` LIMIT %d', $table, $limit);
  4. //输出:SELECT * FROM `users` LIMIT 10

vsprintf() 返回格式化的字符串(与与sprintf()功能相同,区别在于后面变量使用数组。)

  1. $table='users'; //表名
  2. $limit=10; //返回条目
  3. $sql = sprintf('SELECT * FROM `%s` LIMIT %d', [$table, $limit]);
  4. //输出:SELECT * FROM `users` LIMIT 10
其他函数

file_put_contents() 把一个字符串写入文件中

  1. // file_put_contents(文件,数据,如何打开/写入文件,规定文件句柄的环境)
  2. echo file_put_contents("sites.txt","我"); //默认覆盖写入,返回字符长度
  3. // 使用 FILE_APPEND 标记,可以在文件末尾追加内容
  4. // LOCK_EX 标记可以防止多人同时写入
  5. echo file_put_contents("sites.txt","要学习", FILE_APPEND | LOCK_EX);

将字符串转换成数组 implode() join() 把数组元素组合为一个字符串

  1. $arr=['学生1','学生2','学生3','学生4','学生5','学生6'];
  2. //将数组合为字符串,每个用“|”号分开
  3. echo implode('|', $arr);
  4. echo '<br>';
  5. echo join('|', $arr);
  6. // 输出:
  7. //学生1|学生2|学生3|学生4|学生5|学生6
  8. //学生1|学生2|学生3|学生4|学生5|学生6
  9. //两个函数输出结果相同
explode()字符串打散为数组
  1. // explode(在哪里分割字符串,要分割的字符串,返回的数组元素的数量)
  2. print_r(explode('|','学生1|学生2|学生3|学生4|学生5|学生6'));
  3. // 返回数组:Array ( [0] => 学生1 [1] => 学生2 [2] => 学生3 [3] => 学生4 [4] => 学生5 [5] => 学生6 )
substr()返回字符串的一部分
  1. //语法:substr($string, $start, $length)
  2. echo substr('ABCDEFG', 0), '<br>'; //输出全部
  3. echo substr('ABCDEFG', 1), '<br>'; //输出BCDEFG
  4. echo substr('ABCDEFG', 3), '<br>'; //输出DEFG
  5. echo substr('ABCDEFG', 3,2), '<br>'; //输出DE(第3位开始取两位)
  6. //注意:UTF8 中文1个字为3个字节
  7. echo substr('我要学习', 3), '<br>'; //输出要学习
str_split()把字符串分割到数组中
  1. //不写分割长度默认是 1
  2. print_r(str_split('ABCDEF'));
  3. // 输出:Array ( [0] => A [1] => B [2] => C [3] => D [4] => E [5] => F )
  4. print_r(str_split('ABCDEF', 2));
  5. // 输出:Array ( [0] => AB [1] => CD [2] => EF )

str_getcsv()解析 CSV 格式字段的字符串,并返回包含所读取字段的数组。

基本语法:str_getcsv('string','separator',enclosure,escape)
string:必须,规定要填充的字符串;
separator:必需,固定新的字符串长度,如果该值小于字符串的原始长度,则不进行任何操作!
enclosure:可选,规定供填充使用的字符串,默认是空白
escape:可选,规定填充字符串那边;可能值 STR_PAD_BOTH 字符串2边,STR_PAD_LEFT :左边 STR_PAD_RIGHT:右边

  1. $str = "字符";
  2. //字符不满10位在前面用“-”补齐
  3. echo str_pad($str,10,"-",STR_PAD_LEFT),'<br>';
  4. //输出:----字符
  5. //字符不满10位在后面用“-”补齐
  6. echo str_pad($str,10,"-",STR_PAD_RIGHT ),'<br>';
  7. //输出:字符----
  8. //字符不满10位在两边用“-”补齐
  9. echo str_pad($str,10,"-",STR_PAD_BOTH ),'<br>';
  10. //输出:---字符--
str_replace()字符串替换


  1. $css_pach='myapp/php_pro/css/style.css';
  2. // 将以上CSS路径地址中的“/”替换“//”,并自动创建变量$i统计替换次数
  3. echo str_replace('/', '//',$css_pach,$i);
  4. echo '<br>查找并替换了:'.$i.'次';
  5. // 输出:myapp//php_pro//css//style.css
  6. // 查找并替换了:3次
  7. // 字符串替换应用场景2
  8. $str_key = ['交友', '广告', '直播', '带货'];
  9. //find 查找的值支持数组
  10. echo str_replace($str_key, '**', '广告代理, 直播教学, 免费带货,异性交友');
  11. // 输出:**代理, **教学, 免费**,异性**
trim()移除字符串两侧的空白字符或其他预定义字符。
  1. $str = "...admin ";
  2. echo $str;
  3. // 原始输出:...admin
  4. echo "<br>";
  5. echo trim($str, ".");
  6. // 移除后输出:admin
类似函数
  1. ltrim() 函数 移除字符串左侧的空白字符或其他预定义字符。
  2. rtrim() 函数 移除字符串右侧的空白字符或其他预定义字符。
strpos()查找字符串在另一字符串中第一次出现的位置。


  1. $str1='hello php.cn';
  2. $str2='php';
  3. echo strpos($str1, $str2);
  4. // 输出:6
strstr()搜索字符串在另一字符串中是否存在


  1. echo strstr('admin@php.cn','@');
  2. // 输出:@php.cn
  3. echo (strstr('admin@php.cn','@')) ? '存在' : '不存在' ;
  4. // 输出:存在
  5. echo (strstr('admin@php.cn','#')) ? '存在' : '不存在' ;
  6. // 输出:不存在

总结:

了解了字符串的四种创建方式和使用方法
系统字符串函数逐个测试、学习,用法基本掌握,项目中灵活应用还需要实战加强。

Correcting teacher:GuanhuiGuanhui

Correction status:qualified

Teacher's comments:写的很好,bt_code要合理使用,不要乱用!
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post