12怎么取出数字php7

worktile 其他 251

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    对于数字的提取,可以使用正则表达式来实现。以下是使用 PHP 7 的示例代码:

    “`php
    $string = “abc123def456ghi789”;
    $numbers = [];
    preg_match_all(‘/\d+/’, $string, $matches);
    if (!empty($matches[0])) {
    $numbers = $matches[0];
    }
    print_r($numbers);
    “`

    以上代码会输出一个包含所有数字的数组,即 `[123, 456, 789]`。

    解释一下代码的具体逻辑:
    – 首先,我们定义一个字符串变量 `$string`,其中包含了一些数字。
    – 然后,我们定义了一个空数组 `$numbers`,用来存储提取到的数字。
    – 使用 `preg_match_all()` 函数和正则表达式 `\d+` 来匹配字符串中的数字。`\d` 表示数字字符,`+` 表示至少一个数字字符,所以 `\d+` 表达式可以匹配一个或多个连续的数字字符。
    – 将匹配到的数字存储到 `$numbers` 数组中。
    – 最后,使用 `print_r()` 函数打印出 `$numbers` 数组的内容。

    请注意,以上代码只是示例,你可以根据实际需求进行调整和优化。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在 PHP 7 中,可以使用多种方法从字符串中提取数字。

    方法一:使用正则表达式
    正则表达式是一种强大的模式匹配工具,可以用来匹配数字。可以使用preg_match_all函数来匹配字符串中的所有数字。以下是示例代码:

    “`php
    $string = “abc123xyz456”;
    preg_match_all(‘/\d+/’, $string, $matches);
    $numbers = $matches[0];
    print_r($numbers);
    “`

    在以上代码中,正则表达式“\d+”用来匹配一个或多个数字。通过preg_match_all函数,将匹配到的数字存储在$matches数组中。最后,通过print_r函数将提取到的数字输出。

    方法二:使用strpbrk函数
    strpbrk函数可以在两个字符串中查找第一个匹配的字符,并返回子字符串。可以将所有数字字符作为第一个参数传递给strpbrk函数,将待提取的字符串作为第二个参数传递给它。以下是示例代码:

    “`php
    $string = “abc123xyz456”;
    $number_chars = strpbrk($string, “0123456789”);
    $numbers = “”;
    while ($number_chars !== false) {
    $number = strspn($number_chars, “0123456789”);
    $numbers .= substr($number_chars, 0, $number);
    $number_chars = substr($number_chars, $number);
    $number_chars = strpbrk($number_chars, “0123456789”);
    }
    print_r($numbers);
    “`

    在以上代码中,将数字字符“0123456789”作为第一个参数传递给strpbrk函数,将待提取的字符串作为第二个参数传递给它。然后,通过使用strspn函数来计算每个数字的长度。使用substr函数来提取每个数字,并将它们拼接到$numbers变量中,直到没有更多的数字可提取为止。最后,通过print_r函数将提取到的数字输出。

    方法三:使用str_replace函数
    str_replace函数可以用来替换字符串中的字符。可以将非数字字符替换为空字符串,从而提取出数字。以下是示例代码:

    “`php
    $string = “abc123xyz456″;
    $numbers = str_replace(str_split(‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ’), ”, $string);
    print_r($numbers);
    “`

    在以上代码中,将待提取的字符串传递给str_replace函数的第三个参数。通过使用str_split函数将所有字母字符转换为一个数组,并将其作为第一个参数传递给str_replace函数。替换后,所有非数字字符将被替换为空字符串,从而提取出数字。最后,通过print_r函数将提取到的数字输出。

    方法四:使用filter_var函数
    filter_var函数是 PHP 中的过滤函数,可以用来过滤和验证数据。使用FILTER_SANITIZE_NUMBER_INT过滤器可以提取出字符串中的所有数字。以下是示例代码:

    “`php
    $string = “abc123xyz456”;
    $numbers = filter_var($string, FILTER_SANITIZE_NUMBER_INT);
    print_r($numbers);
    “`

    在以上代码中,将待提取的字符串作为第一个参数,FILTER_SANITIZE_NUMBER_INT常量作为第二个参数传递给filter_var函数。通过使用该常量,可以过滤出字符串中的所有数字。最后,通过print_r函数将提取到的数字输出。

    方法五:使用str_split和is_numeric函数
    str_split函数将字符串拆分为一个字符数组,is_numeric函数用于判断一个值是否为数字。可以将待提取的字符串传递给str_split函数,然后使用array_filter和is_numeric函数来过滤出数字。以下是示例代码:

    “`php
    $string = “abc123xyz456”;
    $chars = str_split($string);
    $numbers = array_filter($chars, ‘is_numeric’);
    print_r($numbers);
    “`

    在以上代码中,将待提取的字符串传递给str_split函数,将字符串拆分为一个字符数组。然后,使用array_filter函数和is_numeric函数来过滤出数字字符。最后,通过print_r函数将提取到的数字输出。

    这些是在 PHP 7 中从字符串中提取数字的几种方法。根据具体的需求和应用场景,选择合适的方法来提取数字。无论是使用正则表达式、字符串函数,还是过滤函数,都能够有效地取出数字。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    要从字符串中取出数字,可以使用正则表达式或者内置的函数。下面分别介绍两种方法。

    方法1:使用正则表达式
    正则表达式是一种强大的字符串匹配工具,可以用来匹配数字字符。在PHP中,可以使用preg_match函数来使用正则表达式进行匹配。具体操作如下所示:

    “`php
    $str = “abc123xyz”;
    preg_match(‘/\d+/’, $str, $matches);
    $number = $matches[0];
    echo $number; // 输出123
    “`

    在上面的代码中,首先定义了一个字符串$str,其中包含了数字字符”123″。然后使用preg_match函数来匹配数字字符,正则表达式’/\d+/’表示匹配一个或多个数字字符。$matches是一个数组,用于存放匹配结果。$matches[0]即为匹配到的第一个结果,即数字字符”123″。最后将匹配到的数字字符打印出来。

    方法2:使用内置函数
    PHP提供了一些内置函数来处理字符串,其中包括取出数字的函数。常用的函数有preg_replace、str_replace和filter_var。下面分别介绍这些函数的用法。

    1)使用preg_replace函数
    “`php
    $str = “abc123xyz”;
    $number = preg_replace(‘/\D/’, ”, $str);
    echo $number; // 输出123
    “`

    在上面的代码中,通过使用preg_replace函数将非数字字符替换为空字符串,得到的结果即为数字字符”123″。

    2)使用str_replace函数
    “`php
    $str = “abc123xyz”;
    $number = str_replace(range(‘a’, ‘z’), ”, $str);
    echo $number; // 输出123
    “`

    在上面的代码中,通过使用str_replace函数将小写字母替换为空字符串,得到的结果即为数字字符”123″。

    3)使用filter_var函数
    “`php
    $str = “abc123xyz”;
    $number = filter_var($str, FILTER_SANITIZE_NUMBER_INT);
    echo $number; // 输出123
    “`

    在上面的代码中,通过使用filter_var函数过滤掉字符串中的非数字字符,得到的结果即为数字字符”123″。

    总结:
    无论是使用正则表达式还是内置函数,都可以方便地从字符串中取出数字。具体选择哪个方法,可以根据实际需求和个人喜好来决定。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部