使用 PHP 从字符串中获取数字

2024-01-31

我有字符串:

$one = 'foo bar 4 baz (5 qux quux)';
$two = 'bar baz 2 bar';
$three =  'qux bar 12 quux (3 foo)';
$four = 'foo baz 3 bar (13 quux foo)';

如何找到这些字符串中的数字?

也许有功能:

function numbers($string){

    // ???

    $first = ?;
    $second = ?;
}

例如:

function numbers($one){

    // ???

    $first = 4;
    $second = 5;
}

function numbers($two){

    // ???

    $first = 2;
    $second = NULL;
}

最好的方法可能是正则表达式,但我如何在我的示例中使用它?也许没有正则表达式?


您可以使用常用表达 http://php.net/book.pcre为了这。这\d 转义序列 http://php.net/regexp.reference.escape将匹配主题字符串中的所有数字。

例如:

<?php

function get_numerics ($str) {
    preg_match_all('/\d+/', $str, $matches);
    return $matches[0];
}

$one = 'foo bar 4 baz (5 qux quux)';
$two = 'bar baz 2 bar';
$three = 'qux bar 12 quux (3 foo)';
$four = 'foo baz 3 bar (13 quux foo)';

print_r(get_numerics($one));
print_r(get_numerics($two));
print_r(get_numerics($three));
print_r(get_numerics($four));

https://3v4l.org/DiDBL https://3v4l.org/DiDBL

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 PHP 从字符串中获取数字 的相关文章

  • PHP 下载脚本输出损坏的文件

    我正在用 PHP 为我的 CMS 构建一个文件下载类 当时我注意到它以不同的编码格式输出文件 我尝试使用 readfile file get contents fread 但似乎都在做同样的事情 这就像与输出缓冲有关的东西 我使用脚本下载的
  • Magento:如何在 CMS 页面中包含 php 调用

    按照此页面的说明进行操作 http www magento cc how to use php on a cms page html http www magento cc how to use php on a cms page html
  • YUI压缩机或类似的PHP?

    我一直在我的测试服务器上使用 yuicompressor jar 来动态最小化已更改的 JavaScript 文件 现在我已经将网站部署到公共服务器上 我注意到服务器的策略禁止使用 exec 或其等效项 因此我不再执行 java 有没有一个
  • Laravel 5.4 将json保存到数据库

    帮我将 json 保存到数据库 表字段类型 文本 我有带有强制转换数组的模型 class Salesteam extends Model protected casts team members gt array 我想要像这样 index
  • 将 PHP 中的 openssl AES 转换为 Python AES

    我有一个 php 文件 如下所示 encryption encoded key c7e1wJFz PBwQix80D1MbIwwOmOceZOzFGoidzDkF5g function my encrypt data key encrypt
  • 在php中获取大于2GB的文件大小的最佳方法?

    我想检查本地驱动器上的文件大小windows OS 但是PHP原生函数filesize 仅当文件大小小于时才有效2GB 大于的文件2GB将返回错误的数字 那么 是否有其他方法来获取大于的文件大小2GB 非常感谢 您始终可以使用系统的文件大小
  • 随机错误 symfony:ContextErrorException: 警告: simplexml_load_file(): I/O 警告: 无法加载外部实体

    在我的 Symfony 项目中 当我进入应用程序中的随机页面时 会出现以下随机错误 ContextErrorException Warning simplexml load file I O warning failed to load e
  • Symfony 生成器形式、原则和 M:N 关系

    我有一个基本的 M N 设置 包含三个表 candidate position 和 Candidate position 这是 MySQL Workbench 的 ERD 屏幕截图 现在 我们继续讨论表单 在 symfony 生成器的默认世
  • Laravel 读写连接不同步

    我在 Laravel 5 2 应用程序中使用读写 MySQL 连接设置 mysql gt write gt host gt env DB HOST WRITE localhost read gt host gt env DB HOST RE
  • CryptoJS 使用密码加密 AES,但 PHP 解密需要密钥

    我在用CryptoJS https code google com p crypto js AES加密字符串 function doHash msg msg String msg var passphrase aggourakia var
  • 文本在指定长度后分割,但不要使用 grails 打断单词

    我有一个长字符串 需要将其解析为长度不超过 50 个字符的字符串数组 对我来说 棘手的部分是确保正则表达式找到 50 个字符之前的最后一个空格 以便在字符串之间进行彻底的分隔 因为我不希望单词被切断 public List
  • 使用第三方库记录来自 PHP 应用程序的所有 cURL 请求

    好吧 我的 PHP Yii2 应用程序遇到了困难 我需要记录来自应用程序的每个传入和传出请求 传入的请求可以轻松地记录在 PHP 本身中 在引导阶段添加一些处理程序 这很容易 但真正的问题是我正在使用许多第三方库 即 Amazon MWS
  • 在 PHP 中将整数转换为十六进制值

    如何将PHP中第一类中的数字转换为第二类中的数字 是否有内置函数来转换数字 也是我的标题 将整数转换为十六进制值 甚至正确 class Permission const READ 1 const UPDATE 2 const DELETE
  • Yii 未检测到骆驼案例操作

    伊伊正在给我404 Error如果我声明这样的操作 站点控制器 php public function actionRegisterUser 这就是我在main php label gt Register User url gt site
  • 将客户分配到 magento 的多个客户组

    您好 我想将多个组分配给特定客户 例如 Rajat 客户 属于 批发 零售商 电力 实际上我在上面看到了同样的话题每个客户有多个客户组 https stackoverflow com questions 6153011 multiple c
  • 匹配没有周围字符列表的单词列表

    我有这个正则表达式 one common word or another 除非这两个单词相邻 否则它匹配得很好 One one s more word word common word or another word more anothe
  • 创建单个随机 Magento 优惠券

    我遇到了一些麻烦 我想要做的是每次有人订阅我们的时事通讯时 在 Magento 中自动生成一个随机优惠券代码 这张优惠券可减 10 美元 并且有exp 订阅后两周的日期 因此 我正在尝试编写一个简单的脚本 当提交 订阅我们的时事通讯 表单时
  • sqlite3和pdo_sqlite有什么区别

    我正在将我的 Web 应用程序从 MySQL 迁移到 SQLite 数据库 我发现有两个 PHP 扩展用于与 sqlite 通信 php sqlite3 dll and php pdo sqlite dll 什么扩展比较好 或者另一个问题
  • PHP 中根据相似值对数组进行分组

    我有一个具有以下结构的数组
  • Google Drive 服务帐户上传的位置

    我正在尝试使用服务帐户将文件上传到我的 Google 云端硬盘 当我部署此代码时 我不希望用户给予授权 我希望他们上传到我的帐户 我通过 PHP 使用它 下面是我到目前为止的情况 这段代码是基于官方文档给出的例子 当我运行 php 脚本时

随机推荐