博客列表 >字符串的四种创建方式与常用函数

字符串的四种创建方式与常用函数

XFY_肆意De...
XFY_肆意De...原创
2020年07月13日 15:31:052354浏览

字符串的定义

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

  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. // 输出:不存在

总结:

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

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议