- PHP 菜鸟教程
- PHP - 教程
- PHP - 简介
- PHP - 安装
- PHP - 历史
- PHP - 功能
- PHP - 语法
- PHP - Hello World
- PHP - 注释
- PHP - 变量
- PHP - echo 语句和 print 语句
- PHP - var_dump() 函数
- PHP - $ 和 $$ 变量
- PHP - 常量
- PHP - 魔术常量
- PHP – 数据类型
- PHP - 类型转换
- PHP - 类型戏法
- PHP - 字符串
- PHP - 布尔值
- PHP - 整数
- PHP - 文件和I/O
- PHP – 数学函数
- PHP - Heredoc & Nowdoc
- PHP - 复合类型
- PHP - 文件包含
- PHP - 日期和时间
- PHP - 标量类型声明
- PHP - 返回类型声明
- PHP 运算符
- PHP - 运算符类型
- PHP - 算术运算符示例
- PHP - 比较运算符示例
- PHP - 逻辑运算符示例
- PHP - 赋值运算符示例
- PHP – 字符串运算符
- PHP – 数组运算符
- PHP – 条件运算符示例
- PHP - Spread 运算符
- PHP - Null 合并运算符
- PHP - Spaceship 运算符
- PHP 控制语句
- PHP – 决策
- PHP - If…Else 语句
- PHP - Switch 语句
- PHP – 循环类型
- PHP - For 循环
- PHP - Foreach 循环
- PHP - While 循环
- PHP - do...While 循环
- PHP - Break 语句
- PHP - Continue 语句
- PHP 数组
- PHP - 数组
- PHP - 索引数组
- PHP - 关联数组
- PHP - 多维数组
- PHP - 数组函数
- PHP - 常量数组
- PHP 函数
- PHP - 函数
- PHP - 函数参数
- PHP - 按值调用
- PHP - 按引用调用
- PHP - 默认参数
- PHP - 命名参数
- PHP - 变量参数
- PHP - 返回值
- PHP - 传递函数
- PHP - 递归函数
- PHP - 类型提示
- PHP - 变量范围
- PHP - 严格类型
- PHP - 匿名函数
- PHP - 箭头( Arrow )函数
- PHP - 变量处理函数
- PHP - 局部变量
- PHP - 全局变量
- PHP 超全局变量
- PHP - 超全局变量
- PHP - $GLOBALS 变量
- PHP - $_SERVER 变量
- PHP - $_REQUEST 变量
- PHP - $_POST 变量
- PHP - $_GET 变量
- PHP - $_FILES 变量
- PHP - $_ENV 变量
- PHP - $_COOKIE 变量
- PHP - $_SESSION 变量
- PHP 文件处理
- PHP - 文件处理
PHP - 字符串
字符串是字符序列,例如 'PHP支持字符串操作'。PHP 中的字符串,表示字节数组和表示缓冲区长度的整数。在 PHP 中,字符等同于字节。这意味着 PHP 仅支持 256 个字符集,因此不提供本机 Unicode 支持。
PHP 支持单引号和双引号字符串格式。表示形式 'this is a simple string' 和 “this is a simple string” 都是有效的。PHP 还具有字符串数据类型的 Heredoc 和 Newdoc 表示形式。
单引号字符串
用单引号括起来的字符序列(字符 ')是一个字符串。
$str = '这是一个简单的字符串';
例
如果要包含文字单引号,请使用反斜杠 (\) 对其进行转义。
<?php
$str = 'This is a \'simple\' string';
echo $str;
?>
它将为您提供以下输出 -
例
要指定文字反斜杠,请将其加倍 (\\)。
<?php
$str = 'The command C:\\*.* will delete all files.';
echo $str;
?>
这是它的输出 -
例
诸如 “\r” 或 “\n” 之类的转义序列将被按字面处理,并且不会解释它们的特殊含义。如果变量出现在单引号字符串中,它们也不会被扩展。
<?php
$str = 'This will not expand: \n a newline';
echo $str . PHP_EOL;
$x=100;
$str = 'Value of x = $x';
echo $str;
?>
它将产生以下输出 -
Value of x = $x
双引号字符串
用双引号 (“ ”) 括起来的字符序列是另一种字符串表示形式。
$str = "this is a simple string";
单引号和双引号字符串是等效的,除了它们对转义序列的处理。PHP 将解释特殊字符的某些转义序列。例如,“\r” 和 “\n”。
序列 | 意思 |
---|---|
\n | 换行符(LF 或 ASCII 中的 0x0A (10))) |
\r | 回车(ASCII 中的 CR 或 0x0D (13))) |
\t | 水平制表符(ASCII 中的 HT 或 0x09 (9))) |
\v | 垂直制表符(ASCII 中的 VT 或 0x0B (11))) |
\e | 转义(ESC 或 ASCII 中的 0x1B (27)) |
\f | 换页符(ASCII 格式为 FF 或 0x0C (12)) |
\\ | 反斜线 |
\$ | 美元符号 |
\" | 双引号 |
PHP 转义八进制和十六进制字符
PHP 支持将八进制和十六进制数转义为它的 ASCII 字符。例如,P 的 ASCII 字符为十进制 80。十进制中的 80 到八进制是 120。同样,十进制到十六进制的 80 是 50。
要转义八进制字符,请为其添加前缀 “\”;要转义十六进制字符,请为其添加前缀 “\x”。
<?php
$str = "\120\110\120";
echo "PHP with Octal: ". $str;
echo PHP_EOL;
$str = "\x50\x48\x50";
echo "PHP with Hexadecimal: ". $str;
?>
检查输出 -
PHP with Hexadecimal: PHP
与单引号字符串一样,转义任何其他字符也会导致打印反斜杠。双引号字符串最重要的特征是变量名称将被扩展。
例PHP 中的双引号字符串扩展了变量名称(PHP 变量以 $ 符号为前缀)。要在 PHP 字符串中实际表示 “$” 符号,请以 “\” 字符为前缀对其进行转义。
<?php
$price = 200;
echo "Price = \$ $price";
?>
您将获得以下输出 -
字符串连接运算符
为了将两个字符串变量连接在一起,PHP 使用点 (.) 运算符 −
<?php
$string1="Hello World";
$string2="1234";
echo $string1 . " " . $string2;
?>
在这里,您将获得以下输出 -
在上面的示例中,我们使用了 concatenation 运算符两次。这是因为我们必须插入第三个字符串。在两个字符串变量之间,我们添加了一个带有单个字符的字符串,即一个空格,以分隔两个变量。
PHP 的标准库包括许多用于字符串处理的函数。它们可以在 PHP 的官方文档 (https://www.php.net/manual/en/ref.strings.php) 中找到。
strlen() 函数
strlen() 函数用于查找字符串的长度。
例让我们找到字符串 “Hello world!” 的长度 −
<?php
echo strlen("Hello world!");
?>
它将产生以下输出 -
字符串的长度通常用于循环或其他函数中,此时知道字符串何时结束很重要(也就是说,在循环中,我们希望在字符串中的最后一个字符之后停止循环)。
strpos() 函数
strpos() 函数用于搜索字符串或字符串中的字符。
- 如果在字符串中找到匹配项,此函数将返回第一个匹配项的位置。
- 如果未找到匹配项,它将返回 FALSE。
让我们看看我们是否能在字符串中找到字符串 “world” -
<?php
echo strpos("Hello world!","world");
?>
它将产生以下输出 -
如你所见,字符串 “world” 在我们的字符串中的位置是 “6”。它是 “6” 而不是 “7” 的原因是字符串中的第一个位置是 “0”,而不是 “1”。