字符串数组类型
PHP数据类型
1)标量数据类型:整型,浮点型,字符串类型,布尔类型
2)复杂数据类型:数据,对象
3)特殊数据类型:null,资源型
单引号
- 不解析变量(单引号传入什么就是什么)
- 单引号中包含单引号需要转义
- 单引号中可以包含双引号
双引号
- 解析变量( {} 指定变量的边界 )
- 双引号中包含双引号需要转义
- 变量最好使用变量{}边界符号
- 单引号与双引号嵌套的问题:只有最外层是双引号时,才能解析变量
双引号中包含单引号
$str4 = " '$hi' word "; //双引号中包含单引号
// 'hello' word
heredoc字符串定义结构
单引号 双引号在多行字符串.复杂字符串如js代码的定义时显得不便
语法:
$str = <<<heredoc标记名
字符串内容
heredoc标记名;(不能有缩进)
注意:可以解析变量 单引号及双引号不需要转义或者处理. 一般用于保存较长字符串或者js代码;
字符串长度问题
1)计算长度的函数 strlen
$str1 = "hello word";
echo strlen($str1); // 10 每个英文字符占一个字节
$str2 = "前段与移动开发";
echo "<br>" , strlen($str2); //21 每个汉字字符占三个字节
2)多字节字符串长度问题
UTF-8字符集中,一个汉字占3个字节,一个英文字符占1个字节
GBK字符集中,一个汉字字符占2个字节,一个英文字符占1个字节
3)多字节字符串,如何计算字符串的字符数?
mb_strlen()
//求字符串的字符数
$str = "前段开发学院";
echo "此字符串的字符数为",mb_strlen($str,"utf8"); // 此字符串的字符数为6
字符串相关函数
1.字符串输出函数printf()
1)printf
占位符:%d 十进制有符号整数 %s 字符串
注意事项 : 占位符与参数列表一一对应.
$name = "李华";
$age = 30;
printf("%s今年%s岁了",$name,$age);
//李华今年30岁了
2)str_replace()
返回值:字符串或者数组.
语法
str_replace(mixed $search,mixed $replace , mixed $subject)
该函数返回一个字符串或者数组,返回的是将subject中全部的search都被replace替换之后的结果
$str = "hello word";
$str = str_replace("hello","你好",$str);
echo $str;
//你好 word
echo "<br>";
$arr = [1,2,3,4];
//改变数组的值
$arr = str_replace("2","世界",$arr);
print_r($arr);
//Array (
[0] => 1
[1] => 世界
[2] => 3
[3] => 4
);
2)str_repeat()
大小写转换函数
1)strtolower() 转换成小写
lower case :小写
2)strtoupper()转换成大写
$str1 = "Hello Word";
$str1 = strtolower($str1);
echo $str1 , "<br>";
//hello word
$str1 = strtoupper($str1);
echo $str1;
// HELLO WORD
3)unfirst()
将str的首字符(如果首字符是字母)转换为大写字母,并返回这个字符串
去除空白函数
1)trim(),ltrim(),rtrim()
此函数返回字符串str去除收尾空白字符后的结果
数组与字符串转换函数
1)explode() 将字符串切割为数组
语法:
explode(分割符,目标字符串)
$str = "www.baidu.com";
$arr1 = explode(".",$str);
print_r($arr1);
//Array ( [0] => www [1] => baidu [2] => com )
2)implode()将数组连接成字符串
语法:
implode(连接的字符,数组)
3)str_split()
注意:按照字节进行切割(英文1个字符1个字节,汉字1字符3个字节)
将字符串分成指定长度(默认为1字节)的字符串,返回数组
返回值:数组;
语法:
str_split($str,字符串长度)
$str = "helloword";
$arr = str_split($str,2);
print_r($arr);
//Array (
// [0] => he
// [1] => ll
// [2] => ow
// [3] => or
// [4] => d
// )
位置查找函数
返回值:子字符串下标,若未查找到,返回值为false,不显示
1)strpos()
从左侧开始查找,下标从0开始
strpos(目标字符串,要查找的子字符串);
2)strrpos()
从右侧开始查找,下标从0开始
strrpos(目标字符串,要查找的子字符串);
``
$str = "hello.php";
//从左侧开始查找子字符串在目标字符串中的位置;下标从0开始
$num = strpos($str,"p");
echo $num; // 6
//从右侧开始查找子字符串在目标字符串中的位置;下表从0开始
$num1 = strrpos($str,"p");
echo $num1;//8