PHP substr简介及应用

170 阅读4分钟

PHP substr

PHP substr简介

PHP substr是PHP的一个内置函数,用于提取一个字符串的指定部分。Substr()是一个用来将一个字符串的一部分从特定的位置开始切到特定长度的函数。在修剪后的字符串为空或发生任何故障的情况下,substr()将返回错误。PHP版本4及以上支持substr()函数。字符串是PHP支持的数据类型之一;这些字符串变量包含字母数字值。字符串方法可以操作这些字符串;其中之一就是substr()。

语法

下面是提到的语法。

substr(string_name, starting_position_of_string, string_length_to_cut);

参数

Substr()允许3个参数,其中2个是必须的,另一个是可选参数。

1. string_name: 需要修改的字符串参数。它是必须传递的参数,指定一个或多个字符的字符串。

2.starting_position_of_string: 它也是传递给substr()方法的强制性参数。它指的是输入字符串的位置,从那里开始需要切割字符串的部分。该参数的数据类型是一个整数,因此整数可以是正数、负数,甚至是0。

  • 正数: 如果指定字符串的长度是一个非负整数,返回的字符串将从输入字符串的指定位置开始。
  • 负数: 如果指定字符串的长度是一个负整数,返回的字符串将从字符串末端的指定位置开始。
  • 0: 如果指定字符串的长度为0,将从输入字符串的第一个字符开始。

3. string_length_to_cut: 这个参数是可选的,属于整数类型。它指的是从输入字符串返回的字符串的长度,或者换句话说,需要从输入字符串中剪切的字符串的长度。

  • 如果长度为正数,它指的是起始位置,并从字符串的开头提取长度。
  • 如果长度为负数,它指的是起始位置,并从输入字符串的末端提取长度。
  • 如果这个参数本身没有被传递,那么substr()将返回从start_position_of_string开始直到字符串结束的字符串。
  • Substr()如果成功的话,将返回提取的部分字符串,否则将返回false或失败或空字符串。

PHP substr()的工作原理

取一个输入字符串并应用substr()方法来获取该字符串的指定部分。让我们看看一些例子。

例子 #1

PHP substr()没有指定长度。

代码

<!DOCTYPE html>
<html>
<body>
<?php
echo substr("This is the first example of a PHP substr()",13);
?>
</body>
</html>

输出

PHP substr 1

例子 #2

PHP substr()的起始位置为负数。

代码

<!DOCTYPE html>
<html>
<body>
<?php
echo substr("This is the first example of a PHP substr()",-15);
?>
</body>
</html>

输出

PHP substr 2

例子 #3

长度为0时的PHP substr()。

代码

<!DOCTYPE html>
<html>
<body>
<?php
echo substr("eduCBA is an e-learning site with 100+ tutorials", 14, 0). "</br>";
?>
</body>
</html>

例子 #4

PHP substr()的长度为负数,起始位置为负数。

代码

<!DOCTYPE html>
<html>
<body>
<?php
echo substr('PHP substr() returns a part of string', 5, 19);
echo '<br>';
echo substr('PHP substr() returns a part of string', -5, 3);
echo '<br>';
echo substr('PHP substr() returns a part of string',-18, -2);
?>
</body>
</html>


输出

negative length, negative starting position

这里,'echo substr('PHP substr()返回字符串的一部分,' -5, 3);',-5指的是从字符串的末端开始的输入。3指的是返回字符串的切割长度。

例子 #5

代码

<!DOCTYPE html>
<html>
<body>
<?php
$sample_string="eduCBA is an e-learning site with 100+ tutorials";
echo $sample_string;
echo '<br>';
echo substr($sample_string,-10);
echo '<br>';
echo substr($sample_string,-4, 3);
echo '<br>';
echo substr($sample_string,5,-4);
?>
</body>
</html>

输出

PHP substr 4

例子 #6

<!DOCTYPE html>
<html>
<body>
<?php
var_dump(substr('eduCBA is an e-learning site with 100+ tutorials', 100));
?>
</body>
</html>

输出

bool(false)

例子 #7

代码

<!DOCTYPE html>
<html>
<body>
<?php
echo substr("eduCBA is an e-learning site with 100+ tutorials", 5);
echo '<br>';
echo substr("eduCBA is an e-learning site with 100+ tutorials", 17);
echo '<br>';
echo substr("eduCBA is an e-learning site with 100+ tutorials", -7);
echo '<br>';
echo substr("eduCBA is an e-learning site with 100+ tutorials", -30);
echo '<br>';
var_dump(substr("eduCBA is an e-learning site with 100+ tutorials", 100));
echo '<br>';
echo substr("eduCBA is an e-learning site with 100+ tutorials", 0, 16);
echo '<br>';
echo substr("eduCBA is an e-learning site with 100+ tutorials", 2, 5);
echo '<br>';
echo substr("eduCBA is an e-learning site with 100+ tutorials", -10, 4);
echo '<br>';
echo substr("eduCBA is an e-learning site with 100+ tutorials", 0, -10);
echo '<br>';
echo substr("eduCBA is an e-learning site with 100+ tutorials", -9, -1);
?>
</body>
</html>

输出

PHP substr 6

结论

至此,我们对 "PHP substr "有了一个结论。介绍了什么是PHP substr和它的语法。语法中的参数如何工作。列举了大量的例子供大家参考。我们已经提到了提取输入字符串的起点。起点可以是正的,也可以是负的;负的起点是指从末端提取输入的字符串。可选参数'length'也可以是正数或负数,也可以是没有。如果输入字符串的长度小于指定的长度或者没有指定长度,substr()返回布尔值false。