- 输出方式实践:对比 echo 与 print 的使用差异
- 字符串操作初探:通过代码实验理解引号解析规则和基础处理方法作为学习笔记,文中所有结论均基于当前测试结果整理,欢迎共同探讨。"
一、输出方式
在PHP中,有两种基本的方式来获取输出:echo 和 print。echo 和 print 在使用上是相似的。它们都用于将数据输出到屏幕。
它们之间的区别很小:echo 没有返回值,而 print 的返回值为 1,因此它可以在表达式中使用。echo 可以接受多个参数,而 print 只可接受一个参数。echo 比 print 略快一些。
echo 语句在使用中可以带括号使用,也可以不带括号使用:echo 或 echo()。同样的,print 语句可以带括号使用,也可以不带括号使用:print 或 print()。
接下来我们通过一些示例来看一下 echo 和 print 函数的使用。
// echo 示例
echo "Hello"; // 输出 Hello
// 等同于:
echo("Hello"); // 输出 Hello
echo "<h1>你好,世界!</h1>"; // 文本可以包含 HTML 标签
// echo 函数可以接受多个参数,多个参数之间以英文逗号分隔
echo "参数1 ", "参数2 ", "参数3"; // 输出 "参数1 参数2 参数3"
// echo 显示变量
$txt = "Bill";
echo "Hello $txt"; // 输出 "Hello Bill"
// 字符串由引号包围,但在 PHP 中,单引号和双引号之间存在差异。
// 使用双引号时,可以将变量直接插入到字符串中,如上所示。
// 使用单引号时,必须使用 . 运算符来插入变量,如下示:
echo 'Hello ' . $txt; // 输出 "Hello Bill"
// print 示例,print 的使用方式与 echo 相同,不同的地方是 print 不能接受多参数
// 使用 print 改写 echo 的示例,除接受多参数
print "Hello"; // 输出 Hello
// 等同于:
print("Hello"); // 输出 Hello
print "<h1>你好,世界!</h1>"; // 文本可以包含 HTML 标签
// echo 显示变量
$txt = "Bill";
print "Hello $txt"; // 输出 "Hello Bill"
print 'Hello ' . $txt; // 输出 "Hello Bill"
二、字符串
字符串是编程中最常使用的一种数据类型,关于字符串的各种操作是我们需要掌握的,接下来我们一起来看一下 PHP 的字符串和常用的字符串函数。
在 PHP 中,字符串由双引号或单引号包围。这一点并没有什么不好理解的地方,毕竟像JavaScript中的字符串也是这样的,不同的是,PHP 字符串单引号和双引号之间有很大差别,效果并不一样。接下来我们一起来看一下单引号和双引号之间的区别。
双引号和单引号
双引号字符串会对特殊字符执行操作,而单引号不会。下面我们通过示例来说明这一点。
// 当字符串中存在变量时,它会返回变量的值
$txt = "Bill";
echo "Hello $txt"; // 输出 "Hello Bill",$txt 变量的值会输出到字符串中
// 单引号字符串不会执行此类操作,它会按原样返回字符串
echo 'Hello $txt'; // 输出 "Hello $txt",按照单引号中的字符串内容原样输出
注意:PHP 中双引号和单引号之间存在很大的差异。双引号字符串会对特殊字符执行操作,而单引号不会。
字符串常用函数
1、字符串长度
strlen(字符串):返回字符串的长度。
echo strlen("Hello"); // 输出 5
2、单词计数
str_word_count(字符串):计算字符串中的单词数。
echo str_word_count("Hello world!"); // 输出 2
3、在字符串中搜索文本
strpos(字符串, 特定文本) :在字符串中搜索特定文本。如果找到匹配项,该函数将返回第一个匹配项的字符位置。如果没有找到匹配项,它将返回 FALSE。
echo strpos("Hello world!", "world"); // 输出 6
注意:字符串中的第一个字符位置是 0(不是 1)。
4、大写
strtoupper(字符串) :将字符串返回为大写。
$txt = "abcde";
echo strtoupper($txt); // 输出 "ABCDE"
5、小写
strtolower(字符串) :将字符串返回为小写。
$txt = "ABCDE";
echo strtolower($txt); // 输出 "abcde"
6、替换字符串
str_replace(需要替换的字符, 被替换为的新字符, 字符串) :用于在字符串中将一些字符替换为其他字符。
// 将文本 "World" 替换为 "Bill":
$txt = "Hello World!";
echo str_replace("World", "Bill", $txt); // 输出 "Hello Bill!"
7、反转字符串
strrev(字符串) :用于反转字符串。
$txt = "12345";
echo strrev($txt); // 输出 "54321"
8、删除空白
trim(string, [charlist]) :移除字符串两侧的空白字符或其他预定义字符。
参数
|
描述
|
string
|
必需。需要移除两侧空白的字符串。
|
charlist
|
可选。规定从字符串中删除哪些字符。如果被省略,则移除以下所有字符:
|
$txt = " 123456 ";
echo trim($txt); // 输出 "123456",移除两端的空白字符
$txt = "123456";
echo trim($txt, "156"); // 输出 "234",移除两端指定的字符"156"
- ltrim():移除字符串左侧的空白字符或其他预定义字符。
- rtrim():移除字符串右侧的空白字符或其他预定义字符。
9、将字符串转换为数组
explode(分隔符, 字符串) :使用指定的分隔符将字符串拆分为数组。
$txt = "a,b,c,d,e";
$arr = explode(",", $txt); // 使用 "," 将字符串拆分为数组
10、字符串连接
"." 运算符用于字符串连接。
echo "Hello " . "World" . "!"; // 输出 "Hello World!"
11、切片
substr(字符串, 起始索引[, 字符数]) :从字符串指定起始索引返回指定字符数的字符串。第一个字符的索引为 0。
$txt = "123456";
echo substr($txt, 2, 3); // 输出 "345"
11.1、切片到末尾
省略字符数参数,范围将一直延伸到字符串末尾。
$txt = "123456";
echo substr($txt, 2); // 输出 "3456"
11.2、从末尾切片
使用负索引从字符串末尾开始切片。最后一个字符的索引为 -1。
$txt = "123456";
echo substr($txt, -3, 2); // 输出 "45"
11.3、负长度
使用负长度来指定从字符串末尾开始省略多少个字符。
$txt = "123456789";
// 从索引 3 开始获取字符,并一直继续,直到到达倒数第 2 个字符(索引 -2)
echo substr($txt, 3, -2); // 输出 "4567"