PHP基础语法(四)

一、字符串类型

1、字符串定义语法

1)单引号字符串: 在单引号内部,所有的字符都会按照字面意义解释,不会进行变量替换或转义处理,除了 \' 表示单引号本身。

php 复制代码
$str1 = 'Hello, World!';

2)双引号字符串:双引号内部可以包含变量,并会进行变量替换。(保证变量的独立性,可以给变量加一组大括号{})

php 复制代码
$name = "Alice";
$str2 = "Hello, $name!";

1)、2)比较适合定义较短的或无结构要求的字符串

3)、转义字符

在字符串中可以使用反斜杠 \ 进行转义,来表示一些特殊字符:

php 复制代码
$str3 = "This is a \"quoted\" string.";

4)、Heredoc 语法

eredoc 语法允许你定义多行字符串,类似于双引号字符串的行为,但是更适合在多行文本中使用。

上边界符后面不能有任何东西(包括注释)

下边界符必须顶格

下边界符后面只能跟分号,不能跟任何内容

php 复制代码
$str4 = <<<EOT
This is a Heredoc string.
It can span multiple lines.
Variables like $name will be evaluated.
EOT;

<<<EOTEOT; 之间的文本会被视为字符串,EOT 是任意的结束标识符,可以使用其他有效的标识符代替。

5)、 Nowdoc 语法

Nowdoc 语法类似于 Heredoc,但它会将内容作为纯文本处理,不进行变量替换

它使用单引号包裹标识符。

php 复制代码
$str5 = <<<'EOT'
This is a Nowdoc string.
It behaves just like single quoted strings.
Variables like $name are not evaluated.
EOT;

特殊情况处理

跨行字符串 : 如果需要在单引号或双引号中跨行定义字符串,可以使用 \ 连接符来实现。

php 复制代码
$str6 = "This is a very long string \
       that spans multiple lines.";

2、字符串转义

a:\': 单引号。用于在单引号字符串中表示单引号字符。

php 复制代码
$str = 'It\'s raining today.';
echo $str; // 输出:It's raining today.

b、双引号。用于在双引号字符串中表示双引号字符。

php 复制代码
$str = "He said, \"Hello!\"";
echo $str; // 输出:He said, "Hello!"

c、\\: 反斜杠。用于表示反斜杠字符本身。

php 复制代码
$str = "C:\\Windows\\System32\\";
echo $str; // 输出:C:\Windows\System32\

d、\n: 换行符。用于在字符串中表示换行。

php 复制代码
$str = "First line\nSecond line";
echo $str;
/*
输出:
First line
Second line
*/

e、\t: 制表符。用于在字符串中表示水平制表符(Tab)。

php 复制代码
$str = "Name:\tJohn\tDoe";
echo $str; // 输出:Name:    John    Doe

二、字符串相关函数

基本字符串操作

strlen()

  • 返回字符串的长度(字节数)。
php 复制代码
$str = "Hello, world!";
echo strlen($str); // 输出:13

substr()

  • 返回字符串的一部分。
php 复制代码
$str = "Hello, world!";
echo substr($str, 0, 5); // 输出:Hello

str_replace()

  • 替换字符串中的部分内容。
php 复制代码
$str = "Hello, world!";
echo str_replace("world", "PHP", $str); // 输出:Hello, PHP!

strtolower() 和 strtoupper()

  • 将字符串转换为小写或大写。
php 复制代码
$str = "Hello, world!";
echo strtolower($str); // 输出:hello, world!
echo strtoupper($str); // 输出:HELLO, WORLD!

strpos()

  • 查找字符串在另一字符串中第一次出现的位置(区分大小写)。如果没有找到字符串则返回 FALSE。
  • strrpos() - 查找字符串在另一字符串中最后一次出现的位置(区分大小写)

多字节字符串操作(使用 mbstring 扩展)

在php.ini文件中打开mbstring 扩展,之后重启重启Apache服务来应用这些更改

mb_strlen()

  • 返回字符串的长度(字符数)。
php 复制代码
$str = "こんにちは"; // Japanese characters
echo mb_strlen($str); // 输出:5
相关推荐
BingoGo10 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack10 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo1 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack1 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack2 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo2 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack3 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理4 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
QQ5110082854 天前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php
WeiXin_DZbishe4 天前
基于django在线音乐数据采集的设计与实现-计算机毕设 附源码 22647
javascript·spring boot·mysql·django·node.js·php·html5