一、字符串类型
1、字符串定义语法
1)单引号字符串:在单引号内部,所有的字符都会按照字面意义解释,不会进行变量替换或转义处理,除了 \'
表示单引号本身。
$str1 = 'Hello, World!';
2)双引号字符串:双引号内部可以包含变量,并会进行变量替换。(保证变量的独立性,可以给变量加一组大括号{})
$name = "Alice";
$str2 = "Hello, $name!";
1)、2)比较适合定义较短的或无结构要求的字符串
3)、转义字符
在字符串中可以使用反斜杠 \
进行转义,来表示一些特殊字符:
$str3 = "This is a \"quoted\" string.";
4)、Heredoc 语法
eredoc 语法允许你定义多行字符串,类似于双引号字符串的行为,但是更适合在多行文本中使用。
上边界符后面不能有任何东西(包括注释)
下边界符必须顶格
下边界符后面只能跟分号,不能跟任何内容
$str4 = <<<EOT
This is a Heredoc string.
It can span multiple lines.
Variables like $name will be evaluated.
EOT;
在 <<<EOT
和 EOT;
之间的文本会被视为字符串,EOT
是任意的结束标识符,可以使用其他有效的标识符代替。
5)、 Nowdoc 语法
Nowdoc 语法类似于 Heredoc,但它会将内容作为纯文本处理,不进行变量替换。
它使用单引号包裹标识符。
$str5 = <<<'EOT'
This is a Nowdoc string.
It behaves just like single quoted strings.
Variables like $name are not evaluated.
EOT;
特殊情况处理
跨行字符串: 如果需要在单引号或双引号中跨行定义字符串,可以使用 \
连接符来实现。
$str6 = "This is a very long string \that spans multiple lines.";
2、字符串转义
a:\'
: 单引号。用于在单引号字符串中表示单引号字符。
$str = 'It\'s raining today.';
echo $str; // 输出:It's raining today.
b、双引号。用于在双引号字符串中表示双引号字符。
$str = "He said, \"Hello!\"";
echo $str; // 输出:He said, "Hello!"
c、\\
: 反斜杠。用于表示反斜杠字符本身。
$str = "C:\\Windows\\System32\\";
echo $str; // 输出:C:\Windows\System32\
d、\n
: 换行符。用于在字符串中表示换行。
$str = "First line\nSecond line";
echo $str;
/*
输出:
First line
Second line
*/
e、\t
: 制表符。用于在字符串中表示水平制表符(Tab)。
$str = "Name:\tJohn\tDoe";
echo $str; // 输出:Name: John Doe
二、字符串相关函数
基本字符串操作
strlen()
- 返回字符串的长度(字节数)。
$str = "Hello, world!";
echo strlen($str); // 输出:13
substr()
- 返回字符串的一部分。
$str = "Hello, world!";
echo substr($str, 0, 5); // 输出:Hello
str_replace()
- 替换字符串中的部分内容。
$str = "Hello, world!";
echo str_replace("world", "PHP", $str); // 输出:Hello, PHP!
strtolower() 和 strtoupper()
- 将字符串转换为小写或大写。
$str = "Hello, world!";
echo strtolower($str); // 输出:hello, world!
echo strtoupper($str); // 输出:HELLO, WORLD!
strpos()
- 查找字符串在另一字符串中第一次出现的位置(区分大小写)。如果没有找到字符串则返回 FALSE。
- strrpos() - 查找字符串在另一字符串中最后一次出现的位置(区分大小写)
多字节字符串操作(使用 mbstring
扩展)
在php.ini文件中打开mbstring
扩展,之后重启重启Apache服务来应用这些更改
mb_strlen()
- 返回字符串的长度(字符数)。
$str = "こんにちは"; // Japanese characters
echo mb_strlen($str); // 输出:5