当前位置: 首页 > news >正文

php字符串变量和常见的字符串函数

在 PHP 中,字符串变量用于存储文本数据。你可以使用单引号(')、双引号(")或定界符(heredoc 或 nowdoc)来定义字符串。下面是一些关于 PHP 字符串变量的重要点和示例:

1. 单引号字符串

单引号字符串中的内容会被原样输出,不会对特殊字符进行解析。例如,\n(换行符)在单引号字符串中不会被识别为换行,而是会被输出为两个字符 \n

$str1 = '这是一个单引号字符串。\n新行不会开始。';
echo $str1; // 输出:这是一个单引号字符串。\n新行不会开始。

2. 双引号字符串

双引号字符串会解析其中的特殊字符(如 \n 表示换行,\t 表示制表符等),以及变量和数组。

$name = "张三";
$str2 = "这是一个双引号字符串。\n新行开始了。我的名字是$name。";
echo $str2; // 输出:这是一个双引号字符串。//         新行开始了。//         我的名字是张三。

3. 定界符(heredoc 和 nowdoc)

定界符用于定义多行字符串。heredoc 使用 <<< 开始,后面跟着一个标识符(自定义的),然后是新行,接着是字符串内容,最后以相同的标识符结束。heredoc 字符串中的变量会被解析。

$name = "张三";
$str3 = <<<EOT
这是一个heredoc字符串。
新行开始了。
我的名字是$nameEOT;
echo $str3; // 输出与 $str2 相同的内容

nowdoc 类似于 heredoc,但 nowdoc 中的变量不会被解析。nowdoc 使用 <<<' 开始,后面跟着一个标识符,然后是字符串内容,最后以相同的标识符结束。

$name = "张三";
$str4 = <<<'EOT'
这是一个nowdoc字符串。
新行开始了。
我的名字是$name(但这里不会被解析为变量)。
EOT;
echo $str4; // 输出:这是一个nowdoc字符串。//         新行开始了。//         我的名字是$name(但这里不会被解析为变量)。

4. 字符串连接

在 PHP 中,你可以使用点号(.)来连接两个或多个字符串。

$str5 = "Hello, " . "world!";
echo $str5; // 输出:Hello, world!

5. 字符串长度

你可以使用 strlen() 函数来获取字符串的长度(字符数)。

$str6 = "Hello, world!";
echo strlen($str6); // 输出:13

6. 字符串函数

PHP 提供了大量的字符串函数来处理字符串,如 strpos()(查找子串首次出现的位置)、substr()(获取子串)、str_replace()(替换子串)、trim()(去除字符串首尾的空白字符)等。

$str7 = "Hello, world!";
echo strpos($str7, "world"); // 输出:7,因为 "world" 首次出现在第 7 个位置
echo substr($str7, 0, 5); // 输出:Hello,获取前 5 个字符
echo str_replace("world", "PHP", $str7); // 输出:Hello, PHP!,将 "world" 替换为 "PHP"
echo trim("   Hello, world!   "); // 输出:Hello, world!,去除首尾空格
http://www.lryc.cn/news/345473.html

相关文章:

  • PPT基础
  • 初识JDBC
  • React 学习-5
  • 深入浅出TCP 与 UDP
  • Leetcode—387. 字符串中的第一个唯一字符【简单】
  • Blazor入门-调用js+例子
  • 暴力数据结构之栈与队列(队列详解)
  • 仿照JDK源码写一个ArrayList实现
  • [链表专题]力扣21, 234
  • 智慧便民小程序源码系统 求职招聘+房产出租+相亲交友 带完整的安装代码包以及系统搭建教程
  • 苹果免签封装的优势和安全风险
  • hook抓包trace定位实战
  • SMB 协议详解之-TreeID原理和SMB数据包分析技巧
  • 博士阶段应该搞什么:-人才引进要求
  • 超全MySQL锁机制介绍
  • 【CV】计算机视觉中的特征追踪与背景处理
  • CAPL如何实现TLS握手认证
  • Linux -- 日志
  • WebRtc 视频通话,语音通话实现方案
  • IndyTcpServer使用详解
  • pytest + yaml 框架 - 参数化读取文件路径优化
  • C++:多态-重写和重载
  • element ui的table多选
  • python基础---基础运算
  • 【数学】泰勒公式
  • C++基础-编程练习题及答案
  • eNSP-抓包解析HTTP、FTP、DNS协议
  • 【栈】Leetcode 验证栈序列
  • 【数据库原理及应用】期末复习汇总高校期末真题试卷08
  • 每天五分钟深度学习:数学中的极值