• 技术文章 >后端开发 >PHP问题

    php怎么获取字符串前几位

    藏色散人藏色散人2021-09-22 10:22:33原创610

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

    本文操作环境: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', 1); // bcdef
    echo substr(‘abcdef', 1, 3); // bcd
    echo substr(‘abcdef', 0, 4); // abcd
    echo substr(‘abcdef', 0, 8); // abcdef
    echo substr(‘abcdef', -1, 1); // f
    
    // 访问字符串中的单个字符
    // 也可以使用中括号
    $string = ‘abcdef';
    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', 1)); // bool(false)
    ?>

    推荐学习:《PHP视频教程

    以上就是php怎么获取字符串前几位的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:substr
    上一篇:php怎么将数字转换成数组 下一篇:php 得不到参数怎么办
    千万级数据并发解决方案

    相关文章推荐

    • php怎么过滤掉看不见的特殊字符串• php怎么将字符串转为array(数组)• php怎么删除指定字符间的字符串• php 字符串怎么转unicode
    1/1

    PHP中文网