- 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 - 展开运算符
- PHP - 空值合并运算符
- PHP - 比较运算符
- 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 - $GLOBALS
- PHP - $_SERVER
- PHP - $_REQUEST
- PHP - $_POST
- PHP - $_GET
- PHP - $_FILES
- PHP - $_ENV
- PHP - $_COOKIE
- PHP - $_SESSION
- PHP 文件处理
- PHP - 文件处理
- PHP - 打开文件
- PHP - 读取文件
- PHP - 写入文件
- PHP - 文件是否存在
- PHP - 下载文件
- PHP - 复制文件
- PHP - 追加文件
- PHP - 删除文件
- PHP - 处理 CSV 文件
- PHP - 文件权限
- PHP - 创建目录
- PHP - 列出文件
- 面向对象的 PHP
- PHP - 面向对象编程
- PHP - 类和对象
- PHP - 构造函数和析构函数
- PHP - 访问修饰符
- PHP - 继承
- PHP - 类常量
- PHP - 抽象类
- PHP - 接口
- PHP - 特性
- PHP - 静态方法
- PHP - 静态属性
- PHP - 命名空间
- PHP - 对象迭代
- PHP - 封装
- PHP - final 关键字
- PHP - 重载
- PHP - 克隆对象
- PHP - 匿名类
- PHP Web 开发
- PHP - Web 概念
- PHP - 表单处理
- PHP - 表单验证
- PHP - 表单邮件/URL
- PHP - 完整表单
- PHP - 文件包含
- PHP - GET 和 POST
- PHP - 文件上传
- PHP - Cookie
- PHP - Session
- PHP - Session 选项
- PHP - 发送邮件
- PHP - 净化输入
- PHP - Post-Redirect-Get (PRG)
- PHP - 闪存消息
- PHP 高级
- PHP - MySQL
- PHP.INI 文件配置
- PHP - 数组解构
- PHP - 编码规范
- PHP - 正则表达式
- PHP - 错误处理
- PHP - Try…Catch
- PHP - 调试Bug
- PHP - 针对 C 开发人员
- PHP - 针对 PERL 开发人员
- PHP - 框架
- PHP - Core PHP 与框架
- PHP - 设计模式
- PHP - 过滤器
- PHP - JSON
- PHP - 异常
- PHP - 特殊类型
- PHP - 哈希
- PHP - 加密
- PHP - is_null() 函数
- PHP - 系统调用
- PHP - HTTP 认证
- PHP - 交换变量
- PHP - Closure::call()
- PHP - 过滤后的 unserialize()
- PHP - IntlChar
- PHP - CSPRNG
- PHP - 预期
- PHP - use 语句
- PHP - 整数除法
- PHP - 已弃用的特性
- PHP - 已移除的扩展和 SAPI
- PHP - PEAR
- PHP - CSRF
- PHP - FastCGI 进程
- PHP - PDO 扩展
- PHP - 内置函数
- PHP 有用资源
- PHP - 速查表
- PHP - 问答
- PHP - 快速指南
- PHP - 在线编译器
- PHP - 有用资源
- PHP - 讨论
PHP - 字符串
字符串是一系列字符,例如 'PHP 支持字符串操作'。PHP 中的字符串是字节数组和表示缓冲区长度的整数。在 PHP 中,字符与字节相同。这意味着 PHP 只支持 256 个字符集,因此不提供原生 Unicode 支持。
PHP 支持单引号和双引号字符串的表示方式。'这是一个简单的字符串' 和 "这是一个简单的字符串" 都是有效的表示方法。PHP 还具有 Heredoc 和 Nowdoc 字符串数据类型的表示方法。
单引号字符串
用单引号 (') 括起来的一系列字符就是一个字符串。
$str = 'this is a simple string';
示例
如果要包含字面意义上的单引号,请用反斜杠 (\) 转义。
<?php $str = 'This is a \'simple\' string'; echo $str; ?>
将输出如下结果:
This is a 'simple' string
示例
要指定字面意义上的反斜杠,请将其加倍 (\\)。
<?php $str = 'The command C:\\*.* will delete all files.'; echo $str; ?>
其输出如下:
The command C:\*.* will delete all files.
示例
诸如 "\r" 或 "\n" 之类的转义序列将被视为字面量,其特殊含义不会被解释。如果变量出现在单引号字符串中,它们也不会被展开。
<?php $str = 'This will not expand: \n a newline'; echo $str . PHP_EOL; $x=100; $str = 'Value of x = $x'; echo $str; ?>
它将产生以下输出:
This will not expand: \n a newline Value of x = $x
双引号字符串
用双引号 (" ") 括起来的一系列字符是另一种字符串表示方式。
$str = "this is a simple string";
单引号字符串和双引号字符串是等效的,除了它们对转义序列的处理方式不同。PHP 将解释某些用于特殊字符的转义序列。例如,"\r" 和 "\n"。
序列 | 含义 |
---|---|
\n | 换行符 (LF 或 ASCII 中的 0x0A (10)) |
\r | 回车符 (CR 或 ASCII 中的 0x0D (13)) |
\t | 水平制表符 (HT 或 ASCII 中的 0x09 (9)) |
\v | 垂直制表符 (VT 或 ASCII 中的 0x0B (11)) |
\e | 转义符 (ESC 或 ASCII 中的 0x1B (27)) |
\f | 换页符 (FF 或 ASCII 中的 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 Octal: PHP PHP with Hexadecimal: PHP
与单引号字符串一样,转义任何其他字符也会导致反斜杠也被打印出来。双引号字符串最重要的特性是变量名将被展开。
示例
PHP 中的双引号字符串会展开变量名(PHP 变量以 $ 符号为前缀)。要在 PHP 字符串中实际表示 "$" 符号,请用 "\" 字符在其前面转义。
<?php $price = 200; echo "Price = \$ $price"; ?>
您将得到以下输出:
Price = $ 200
字符串连接运算符
要将两个字符串变量连接在一起,PHP 使用点 (.) 运算符:
<?php $string1="Hello World"; $string2="1234"; echo $string1 . " " . $string2; ?>
这里,您将得到以下输出:
Hello World 1234
在上面的示例中,我们两次使用了连接运算符。这是因为我们必须插入第三个字符串。在两个字符串变量之间,我们添加了一个包含单个字符(空格)的字符串,以分隔这两个变量。
PHP 的标准库包含许多用于字符串处理的函数。可以在 PHP 的官方文档中找到它们 (https://php.net/manual/en/ref.strings.php)。
strlen() 函数
strlen() 函数用于查找字符串的长度。
示例
让我们查找字符串 "Hello world!" 的长度:
<?php echo strlen("Hello world!"); ?>
它将产生以下输出:
12
当需要知道字符串何时结束时(例如,在循环中,我们希望在字符串的最后一个字符之后停止循环),字符串的长度经常用于循环或其他函数中。
strpos() 函数
strpos() 函数用于在一个字符串中搜索字符串或字符。
如果在字符串中找到匹配项,则此函数将返回第一个匹配项的位置。
如果没有找到匹配项,则返回 FALSE。
示例
让我们看看我们能否在我们的字符串中找到字符串 "world":
<?php echo strpos("Hello world!","world"); ?>
它将产生以下输出:
6
如您所见,字符串 "world" 在我们字符串中的位置是 "6"。之所以是 "6" 而不是 "7",是因为字符串中的第一个位置是 "0" 而不是 "1"。