php学习笔记之字符串常见操作总结

本文实例讲述了php字符串常见操作。分享给大家供大家参考,具体如下:

字符串的定义

可以用单引号或双引号来定义字符串

<?php
$str = \"hello\";
$str = \'hello\';
>?

heredoc和nowdoc定义大段字符串

区别:和单引号与双引号定义字符串的区别相同

<?php
//heredoc的使用
$str3 = <<<MARK
hello
 world!
  ok;$a
   puzhong!
MARK;
echo $str3.\"<br/>\";
//nowdoc的使用
$str4 = <<<\'MARK\'
hello
 world!
  ok;$a
   puzhong!
MARK;
echo $str4.\"<br/>\";
?>

单引号和双引号的区别

1)转义区别:单引号转义情况:\\\\、\\\’,其他全部原样输出
双引号转义情况:,、”、n、r、t等

2)速度区别:单引号中不能加载变量,而双引号中可以加载变量
速度上,单引号要快于双引号

字符串的常用函数

1)计算字符串的长度
strlen():按照字符串占用的字节数来计算长度
mb_strlen():按照编码来计算字符串的长度

<?php
$str = \"hello\";
$str2 = \"中国123\";
echo strlen($str).\"<br/>\"; //输出5
echo strlen($str2).\"<br/>\";//输出9,utf8字符编码一个汉字占3个字节
echo mb_strlen($str2,\"utf-8\").\"<br/>\";//输出5,按照u8编码,计算字符的长度
?>

2)计算子字符串的位置函数

strpos():区分大小写进行查找子串首次的出现的位置
stripos():不分区大小写进行查找子串首次出现的位置
strrpos():区分大小写进行查找子串最后一次的出现的位置
strripos():不区分大小写进行查找子串最后一次的出现的位置

<?php
$str = \"aAbBcdefgAa\";
$char = \"A\";
echo strpos($str, $char).\"<br/>\";//输出1,区分大小写
echo stripos($str,$char).\"<br/>\";//输出0,不区分大小写
echo strrpos($str,$char).\"<br/>\";//输出9,区分大小写
echo strripos($str, $char).\"<br/>\";输出10,//不区分大小写
?>

3)替换字符串函数

str_replace():区分大小写替换字符串中的内容
str_ireplace():不分区大小写替换字符串中的内容
strtr():成批地进行替换(可以使用数组的某种对应关系)
substr_replace():按照字符串的位置和指定的长度来替换字符串中的内容

<?php
$str = \"hi,Fuck\";
echo str_replace(\"fuck\",\"f**k\",$str).\"<br/>\";//输出:HI,Fuck,区分大小写,所以没有找到要替换的内容
echo str_ireplace(\"fuck\", \"f**k\", $str).\"<br/>\";//输出:HI,f**k,不区分大小写
$str = \"男人,女人,男孩,女孩\";
echo strtr($str, array(\"男\"=>\"女\",\"女\"=>\"男\"));//输出:女人,男人,女孩,男孩
$str = \"hello,webbc,welcome\";
echo substr_replace($str,\"webxx\",6,5);//输出:hello,webxx,welcome
?>

4)截取子字符串函数

substr():按照起始位置和指定长度来截取字符串

<?php
$str = \"hello,webbc,welcome!\";
echo substr($str,6,5).\"<br/>\";//输出:webbc
echo substr($str,6,-1).\"<br/>\";//输出:webbc,welcome,负数表示结束位置从后往前数
echo substr($str,-8,-1);//输出:welcome,负数表示起始位置从后往前数
?>

5)合并/拆分字符串

explode():将字符串按照某个字符拆分成数组
implode():将数组按照某个字符合并成字符串

<?php
$str = \"勇士,马刺,雷霆,快船,开拓者,小牛,灰熊,火箭\";
$arr = explode(\",\",$str);
var_dump($arr);
/*
输出:array
  0 => string \'勇士\' (length=6)
  1 => string \'马刺\' (length=6)
  2 => string \'雷霆\' (length=6)
  3 => string \'快船\' (length=6)
  4 => string \'开拓者\' (length=9)
  5 => string \'小牛\' (length=6)
  6 => string \'灰熊\' (length=6)
  7 => string \'火箭\' (length=6)
*/
echo implode($arr,\"-\");//输出:勇士-马刺-雷霆-快船-开拓者-小牛-灰熊-火箭
?>

6)处理空格

ltrim():删除左导空格
rtrim():删除右导空格
trim():删除左导和右导空格

<?php
$str = \"  hello world  \";
echo ltrim($str).\"a\".\"<br/>\";//输出:HELLO world a
echo \"a\".rtrim($str).\"<br/>\";//输出:A hello world
echo trim($str).\"<br/>\";//输出:HELLO world
?>

7)字符串转义函数

addslashes():对特殊字符进行转义
stripslashes():将转义过的字符还原

<?php
$str = \"Is your \' name O\'reilly?\";
$a = addslashes($str);
echo $a;//输出:Is your \' name O\\\'reilly?
echo stripslashes($a);//输出:IS your \' name O\'reilly?

8)HTML和字符串的转换

htmlspecialchars():将字符串转换成HTML实体
htmlspecialchars_decode():将HTML实体转换成字符串

<?php
$str = \"<b>我是加粗&nbsp;&nbsp;字体</b>\";
echo $str; //输出:我是加粗 字体
$htmlstr = htmlspecialchars($str);
echo $htmlstr;//输出:<b>我是加粗&nbsp;&nbsp;字体</b>
echo htmlspecialchars_decode($htmlstr);//输出:我是加粗 字体
?>

9)检索字符串

strstr():查找字符串的首次出现
substr_count():计算字串出现的次数

<?php
$str = \'name@example.com\';
echo strstr($str, \'@\'); //输出:@example.com
$str = \'This is a test\';
echo substr_count($str, \'is\'); //输出:2
?>

10)字符串的转换函数

strtolower():全部转换为小写
strtoupper():全部转换为大写
ucfirst():将字符串的首字母转换为大写
ucwords():将字符串的每个单词的首字母大写

<?php
$str = \"i haVe a Dream\";
echo strtolower($str).\"<br/>\";//输出:i have a dream
echo strtoupper($str).\"<br/>\";//输出:I HAVE A DREAM
echo ucfirst($str).\"<br/>\";//输出:I haVe a Dream
echo ucwords($str).\"<br/>\";//输出:I HaVe A Dream
?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php常用函数与技巧总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容