第 1 章 · 入门 · 第 1.3 课
字符串
单引号和双引号
两种引号都能表示字符串,区别在于双引号会解析里面的变量和转义字符(如 \n 换行、\t 制表符),单引号则原样输出。
变量后面紧跟着其他文字时,用花括号 {$name} 把变量括起来,PHP 才知道变量名在哪里结束。变量后面紧跟中文时一定要加花括号,因为 PHP 允许中文出现在变量名里,"$name你好" 会被当成变量 $name你好。
拼接
PHP 用点号 . 拼接字符串(不是加号)。.= 表示“在后面追加”。
常用字符串函数
| 函数 | 作用 |
|---|---|
strlen($s) / mb_strlen($s) | 长度(字节 / 字符) |
strtoupper / strtolower / ucfirst | 转大写 / 转小写 / 首字母大写 |
trim($s) | 去掉两端空白 |
str_replace($find, $replace, $s) | 替换 |
substr($s, $start, $length) | 截取一段 |
strpos($s, $find) | 查找位置,找不到返回 false |
str_contains / str_starts_with / str_ends_with | 是否包含 / 以…开头 / 以…结尾(PHP 8) |
str_repeat($s, $n) | 重复 n 次 |
sprintf($format, ...) | 按格式生成字符串 |
位置从 0 开始数:"abcdef" 里 a 的位置是 0。
sprintf 里的 %s 代表字符串,%d 代表整数,%.2f 代表保留两位小数的浮点数。
多行字符串:heredoc
要写一大段带变量的文字(比如一段 HTML)时,用 heredoc 语法很方便。<<<HTML 开始,单独一行的 HTML; 结束,中间可以随便换行、放变量。
选择题
下面代码输出什么?
<?php
$n = 3;
echo 'n = $n';
选择题
strlen("你好") 的结果是多少?
练习 1
首字母大写
已通过变量 $name 里存着小写的 "alice"。用函数把它变成首字母大写,输出:
Hello, Alice!不要把 Alice 直接写进代码里。
练习 2
取出邮箱用户名
已通过从 $email 中取出 @ 前面的部分并输出。对 "someone@example.com",输出应该是:
someone你的代码要对任何邮箱都有效。
练习 3
格式化价格
已通过单价 $price 是 3.5 元,买了 $qty 个。输出总价,保留两位小数:
总价:14.00 元