首页 >后端开发 >PHP问题 >php怎么获取字符串前几位

php怎么获取字符串前几位

藏色散人
藏色散人原创
2021-09-22 10:22:334671浏览

在PHP中可以通过substr函数来获取字符串前几位,其实现方法如“substr(“abcdef”, 0, -1);”,其返回值则是指定字符串中的前几位。

php怎么获取字符串前几位

本文操作环境:windows7系统、PHP7.1版、Dell G3电脑。

php怎么获取字符串前几位?

php获取字符串前几位的实例(substr返回字符串的子串用法)

在实际项目应用中,经常遇到使用php获取字符串前几位用来比较、赋值等等。今天给大家分享使用php substr 获取字符串前几位、后几位、指定位的用法。

substr

(PHP 4, PHP 5)

substr — 返回字符串的子串

说明

string substr ( string $string , int $start [, int $length ] )

返回字符串 string 由 start 和 length 参数指定的子字符串。

参数

string

输入字符串。

start

如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置 2 的字符串是 “c” 等等。

如果 start 是负数,返回的字符串将从 string 结尾处向前数第 start 个字符开始。

如果 string 的长度小于或等于 start,将返回 FALSE。

Example #1 使用负数 start

<?php
$rest = substr(“abcdef”, -1); // 返回 “f”
$rest = substr(“abcdef”, -2); // 返回 “ef”
$rest = substr(“abcdef”, -3, 1); // 返回 “d”
?>

length

如果提供了正数的 length,返回的字符串将从 start 处开始最多包括 length 个字符(取决于 string 的长度)。

如果提供了负数的 length,那么 string 末尾处的许多字符将会被漏掉(若 start 是负数则从字符串尾部算起)。如果 start 不在这段文本中,那么将返回一个空字符串。

如果提供了值为 0,FALSE 或 NULL 的 length,那么将返回一个空字符串。

如果没有提供 length,返回的子字符串将从 start 位置开始直到字符串结尾。

Example #2 使用负数 length

<?php
$rest = substr(“abcdef”, 0, -1); // 返回 “abcde”
$rest = substr(“abcdef”, 2, -1); // 返回 “cde”
$rest = substr(“abcdef”, 4, -4); // 返回 “”
$rest = substr(“abcdef”, -3, -1); // 返回 “de”
?>

返回值

返回提取的子字符串, 或者在失败时返回 FALSE。

更新日志版本说明

5.2.2 – 5.2.6 If the start parameter indicates the position of a negative truncation or beyond, false is returned. Other versions get the string from start.

范例

Example #3 substr() 基本用法

<?php
echo substr(‘abcdef&#39;, 1); // bcdef
echo substr(‘abcdef&#39;, 1, 3); // bcd
echo substr(‘abcdef&#39;, 0, 4); // abcd
echo substr(‘abcdef&#39;, 0, 8); // abcdef
echo substr(‘abcdef&#39;, -1, 1); // f

// 访问字符串中的单个字符
// 也可以使用中括号
$string = ‘abcdef&#39;;
echo $string[0]; // a
echo $string[3]; // d
echo $string[strlen($string)-1]; // f
?>

Example #4 substr() casting behaviour

<?php
class apple {
public function __toString() {
return “green”;
}
}

echo “1) “.var_export(substr(“pear”, 0, 2), true).PHP_EOL;
echo “2) “.var_export(substr(54321, 0, 2), true).PHP_EOL;
echo “3) “.var_export(substr(new apple(), 0, 2), true).PHP_EOL;
echo “4) “.var_export(substr(true, 0, 1), true).PHP_EOL;
echo “5) “.var_export(substr(false, 0, 1), true).PHP_EOL;
echo “6) “.var_export(substr(“”, 0, 1), true).PHP_EOL;
echo “7) “.var_export(substr(1.2e3, 0, 4), true).PHP_EOL;
?>

以上例程会输出:

1) ‘pe'
2) '54'
3) ‘gr'
4) ‘1'
5) false
6) false
7) ‘1200'

错误/异常

错误时返回 FALSE。

<?php
var_dump(substr(‘a&#39;, 1)); // bool(false)
?>

推荐学习:《PHP视频教程

以上是php怎么获取字符串前几位的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn