Blogger Information
Blog 32
fans 2
comment 0
visits 27937
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
字符串的四种定义及部分函数
简行
Original
1566 people have browsed it

一.字符串的四种定义方式

字符串大小的上限: 2G

1.单引号定义

  1. <?php
  2. //单引号创建
  3. $str = 'Friday';
  4. // 1.单引号中的变量不能被解析
  5. echo 'Today is $str '; //错误输出Today is $str
  6. // 2.单引号中的特殊字符不能被解析出来
  7. echo 'welcome to \n \r my shop'; //错误输出 welcome to \n \r my shop
  8. // 在单引号创建字符串中出现单引号
  9. echo 'welcome to \'my\' shop'; //输出 welcome to 'my' shop
  10. // 在单引号创建字符串中出现转义符: \,连续写二个
  11. echo 'welcome to \\my\\ shop'; //输出 welcome to \my\ shop

2.双引号定义

  1. <?php
  2. //双引号创建
  3. $name = "Admin";
  4. // 双引号中的变量可以被解析出来
  5. echo "My name is {$name}"; //输出 My name is Admin
  6. // 双引号中的特殊字符能被解析出来
  7. echo " hello \n\r {$name}\\";
  8. echo '<hr>';

3.heredoc定义: 相当于双引号创建字符串的加强版

  1. <?php
  2. echo <<< ABC
  3. My name is <span style="color:red;">Admin</span>
  4. ABC;
  5. //输出 My name is Admin;其中Admin字体颜色是红色,可以用于添加HTML样式

4.nowdoc定义: 相当于单引号创建字符串的加强版

  1. <?php
  2. echo <<< 'NOW'
  3. hello you
  4. NOW;

二.字符串函数

1.打印输出函数

  • printf()vprintf()
  1. // printf("模板","替换占位符")
  2. // %d,%s:替换占位符
  3. printf("select * from %s limit %d","user",5); //输出 select * from user limit 5
  4. //多个占位符替换
  5. vprintf("select * from %s limit %d",["user",5]);//输出 select * from user limit 5
  • sprintf()vsprintf()
  1. //sprintf(): 返回格式化字符串,而不是输出
  2. sprintf("select * from %s limit %d","user",5);
  3. vsprintf("select * from %s limit %d",["user",5]);
  4. // sprintf()与vsprintf():功能一致,传参不同

2.字符串与数组直接的转换操作:implode,explode,str_split,list

  1. // implode(): 数组转换成字符串
  2. echo implode(";",['阿','的','发','阿']); //输出 阿;的;发;阿
  3. // explode():字符串转换数组
  4. print_r(explode(">","1>2>3>4")); //打印 Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
  5. print_r(explode(', ', '周一, 周二, 周三, 周四, 周五', 4));
  6. //explode第三个参数是切割成几个元素组成的数组
  7. //打印 Array ( [0] => 周一 [1] => 周二 [2] => 周三 [3] => 周四, 周五 )
  8. // str_split(): 把字符串转为数组,可指定数组元素的宽度
  9. print_r(str_split('百度.cn', 3));
  10. // 3表示一个数组下班3个字符,另一个中文占3个支付 打印 Array ( [0] => 百 [1] => 度 [2] => .cn )
  11. // list():将一个索引数组中的元素,按顺序解析到独立变量中,不是函数
  12. list($Monday, $Tuesday, $Wednesday) = explode(', ', '周一, 周二, 周三, 周四, 周五', 4);
  13. echo $Monday, $Tuesday, $Wednesday; //输出 周一周二周三

3.字符串截取:substr

  1. //字符串的截取
  2. // substr($string, $start, $length)
  3. echo substr('123456', 0), '<br>'; //输出 123456
  4. echo substr('123456', 2), '<br>'; //输出 3456
  5. echo substr('123456', 2, 2), '<br>'; //输出 34
  6. echo substr('123456', -1), '<br>'; //输出 6
  7. echo substr('123456', -3,2), '<br>'; //输出 456

4.字符串填充str_pad():将字符串填充到指定长度

  1. // str_pad(string,length,pad_string,pad_type)
  2. // tring :必需。规定要填充的字符串。
  3. // length :必需。规定新的字符串长度。如果该值小于字符串的原始长度,则不进行任何操作。
  4. // pad_string :可选。规定供填充使用的字符串。默认是空白。
  5. // pad_type: 可选。规定填充字符串的哪边。
  6. // pad_type可能的值:
  7. // STR_PAD_BOTH - 填充字符串的两侧。如果不是偶数,则右侧获得额外的填充。
  8. // STR_PAD_LEFT - 填充字符串的左侧。
  9. // STR_PAD_RIGHT - 填充字符串的右侧。默认。
  10. echo str_pad('day', 8, '*', STR_PAD_BOTH);// 输出 **day***

5.字符串替换

  1. echo str_replace('|',"\\",'http:||myphp.edu|index0709.php');
  2. echo '<hr>';
  3. //获取替换次数
  4. echo str_replace('day', 'T','$Monday, $Tuesday, $Wednesday', $count);
  5. echo 'day被替换了' .$count . ' 次';
  6. echo '<hr>';
  7. $arr = ['佣金', '性别', '账号', '银行'];
  8. echo str_replace($arr, '...', '高额佣金, 不行性别, 无需账号,银行随意');
  9. echo '<hr>';
  10. //个性化
  11. echo str_replace($search, ['***','???', '$$$', '###'], '高额佣金, 不行性别, 无需账号,银行随意');

6.字符串剔除两边指定字符:trim

  1. // 从二边删除指定的字符
  2. $str = '1433898http:||myphp.edu|index0709.php site654143';
  3. echo $str, '<br>';
  4. echo trim($str, '143'), '<br>';
  5. echo trim($str, '1..8'), '<br>';
  6. echo trim($str, '1..4'), '<br>';

7.查询字符串在另一个字符串首次出现的位置:strpos

  1. //默认总0开始
  2. echo strpos('today is Wednesday', 'day'), '<br>'; //返回2
  3. //从指定位置开始查询
  4. echo strpos('today is Wednesday', 'day', 4), '<br>';//返回 15

8.获取字符在字符串中是否存在,如果是,返回该字符串及后面剩余部分:strstr

  1. echo strstr("363799110@qq.com","@"), '<br>';
  2. //加上第3个参数ture,则返回首次出现前面的字符串
  3. echo strstr("363799110@qq.com","@",true), '<br>';

Correcting teacher:GuanhuiGuanhui

Correction status:qualified

Teacher's comments:文章写的挺好!很整齐!代码写的也不错!
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