以下这些是我在开始使用 PHP 时遇到的最常见的 PHP 字符串操作问题。大多数这些简单的概念仍然让我们感到困惑。但是,让我们花几分钟时间来了解它们。3 c- t y9 ?' ?. s# x1 t
一、如何将两个字符串组合在一起?
* Z2 d: j* Q/ k# o; W0 `. s% ] 第一个常见的 PHP 字符串操作问题是“如何组合两个字符串”,在 PHP 中连接运算符和其他语言之间容易混淆。例如,在 JavaScript 中,连接是使用加号(+) 完成的,但在 PHP 中使用点号 ( . ) 运算符进行连接。
/ n8 a+ F2 V2 g5 J8 B) @' v5 ] $var1 = "Learn";
$var2 = "PHP";
$message = $var1 . ' '.$var2; 但是,我们还可以想出更多的方法来回答这个常见的 PHP 字符串操作问题。例如,我们可以使用带花括号的字符串插值来组合两个字符串变量。
1 f- u8 a! {9 a& b# o9 s( c; w) v $var1 = "Learn";
$var2 = "PHP";
$message = "{$var1} {$var2}"; 通常,我们在插入字符串时不需要花括号。但是,在这种情况下我们就需要。因为我们正在执行插值和串联。注意,这仅适用于双引号字符串。最后,我们还可以使用printf和echo来组合字符串并打印。
, k' p3 Z9 v& _! y 二、PHP 中如何检查字符串是否包含另一个字符串? & U1 E, j8 [: w! p) T; d: f6 x
接下来,检查一个字符串是否包含另一个字符串也是一个非常重要的实用程序,PHP 直到最近(版本 8 的发布)才提供。然而,到目前为止,有多种方法可以回答这个常见的 PHP 字符串操作问题。, Z- W; W0 x7 h! f
下面我们来看看如何回答这个问题。首先,简单且首选的解决方案是使用strpos()函数。
! ]- U) R% S) M% Y9 V7 R6 B" M 1、使用strpos()函数 ; P0 B+ F4 [# R. V5 V8 F7 ^
只要我们使用恒等式运算符而不是相等运算符,这个方法就可以很好地工作。因为strpos()当第二个字符串定位为第一个字符或字符串时,函数返回 0。并且,PHP 将在比较运算符期间将 0 转换为 FALSE。
# `3 s) u2 s/ x $var1 = "Programming with PHP is Awesome.";
$var2 = "PHP";
if(strpos($var1, $var2) !== FALSE) {
echo "There is $var2 in $var1";
}2、使用substr_count()函数 : S) O2 M/ S% U. c
我们可以使用substr_count()函数来统计一个字符串在另一个字符串中出现的次数。这意味着我们可以检查出现次数是否大于 0,然后就可以解决我们的 PHP 字符串操作问题。! c S M3 r% a* X4 Y9 V* D/ x
$var1 = "Programming with PHP is Awesome.";
$var2 = "PHP";
if(substr_count($var1, $var2) > 0) {
echo "There is $var2 in $var1";
}3、使用 strstr() 函数 - y7 M ~# q! x+ G) ?
与strpos()函数和substr_count()函数类似,PHP 还有strstr()字符串实用函数。这个函数只是返回一个字符串在另一个字符串中的第一次出现。因此,我们的工作也变得非常容易。
' \. s# a7 N+ `2 H1 N $var1 = "Programming with PHP is Awesome.";
$var2 = "PHP";
if(strstr($var1, $var2) !== FALSE) {
echo "There is $var2 in $var1";
}4、使用正则表达式 ) @7 _& f. q1 i y" ^5 a0 i
除了上述方法,我们还可以使用无处不在的名为 preg_match 的正则表达式函数来查看一个字符串是否包含另一个字符串。实际上,我们总是可以使用 RegEx 来回答最常见的 PHP 字符串操作问题。
; x# A4 u- ?* n: k8 ]: @ $var1 = "Programming with PHP is Awesome.";
$var2 = "PHP";
if(preg_match('/.$var2./', $var1) !== FALSE) {
echo "There is $var2 in $var1";
}5、使用 str_contains() PHP 8 函数
+ ]5 ]; P! G% n2 d! v) g/ q( U, w* e ~ 最后,PHP 8 为我们提供了最直接的方法。检查一个字符串是否包含另一个字符串。PHP 8中我们可以使用str_contains函数,它完全符合它所介绍的。也就是说,它检查一个字符串是否包含另一个字符串。# z/ M$ D! G0 D3 m, x
$var1 = "Programming with PHP is Awesome.";
$var2 = "PHP";
if(str_contains($var1, $str2) > 0) {
echo "There is $var2 in $var1";
}