如何在PHP中使用不同格式的特定数字进行preg_grep?

梅林

我有一个参考编号数组,其中包含一个点、一个破折号和一个参考编号的搜索字符串,其中点、破折号被剥离。

现在我想检索匹配的密钥以检索原始状态的数字。

求此参考号:21230412003001

内部数组:

$ref_facetes = Array
(
    [212.30.41.20.03.001] => 8
    [3523.30.00] => 8
    [215.92.46.22.01.003] => 7
)

正则表达式:

'/\/|\./'

试图grep它:

$key = preg_grep('/\/|\./', $search_para['refid'], $ref_facetes);

为了找回原来的写作风格:

echo $ref_facetes[$key];

// should return: 212.30.41.20.03.001 

如何才能做到这一点?

缺口

一种方法是创建一个新数组,其中从原始键中剥离的所有非数字字符作为键,原始键作为值,您可以使用array_combine,array_mappreg_replace然后,您可以检查搜索字符串是否作为键存在,如果存在,则输出值:

$ref_keys = array_combine(array_map(function ($v) { 
    return preg_replace('/[^0-9]/', '', $v);
}, array_keys($ref_facetes)), array_keys($ref_facetes));
echo isset($ref_keys[$search_para['refid']]) ? $ref_keys[$search_para['refid']] : 'not found';

输出:

212.30.41.20.03.001

如果您使用的是 PHP7 及更高版本,则可以将最后一行替换为

echo $ref_keys[$search_para['refid']] ?? 'not found';

3v4l.org 上的演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在同一个单元格中使用不同格式的条件格式

来自分类Dev

特定数字格式的Grep

来自分类Dev

如何对不同格式的日期进行排序

来自分类Dev

C++ | spdlog | 如何使用不同格式化程序的 sincs?

来自分类Dev

如何在Android中使用不同的参数格式化不同语言的字符串?

来自分类Dev

如何在不同的行中使用不同的条件进行过滤?

来自分类Dev

我如何preg_grep日期

来自分类Dev

在键上对PHP不同格式的多维数组进行排序

来自分类Dev

如何在PHP中使用不同的查询添加两个不同的行

来自分类Dev

如何在PHP中使用不同的查询添加两个不同的行

来自分类Dev

如何在 PHP 中使用不同的数据更新 2 个不同的列?

来自分类Dev

如何在Django中使用不同的数据库引擎进行测试和生产

来自分类Dev

如何在SQL中使用不同的日期值对行进行分组和排序

来自分类Dev

如何在Django中使用不同的数据库引擎进行测试和生产

来自分类Dev

如何在状态图中使用不同的分布进行速率转换?

来自分类Dev

如何在 c++ Autotools 项目中使用不同版本的 g++ 进行编译

来自分类Dev

如何在MiniZinc中使用特定数字域初始化变量?

来自分类Dev

如何在javascript / jquery中测试日期的不同格式?

来自分类Dev

PHP:使用preg_grep查找数组中的值,不区分大小写

来自分类Dev

如何在MySQL中使用不同的参数更新查询

来自分类Dev

如何在SQL MERGE中使用不同的子查询

来自分类Dev

如何在RecycleView中使用不同的视图

来自分类Dev

如何在RecycleView中使用不同的视图

来自分类Dev

如何在nextjs中使用不同的.env文件?

来自分类Dev

如何在Nim中使用不同的参数缓存函数?

来自分类Dev

如何在SQL MERGE中使用不同的子查询

来自分类Dev

如何在UITableViewCell UILabel中使用不同的字体名称

来自分类Dev

如何在RecycleView中使用不同的视图

来自分类Dev

如何在Xapian中使用不同的ID?

Related 相关文章

  1. 1

    在同一个单元格中使用不同格式的条件格式

  2. 2

    特定数字格式的Grep

  3. 3

    如何对不同格式的日期进行排序

  4. 4

    C++ | spdlog | 如何使用不同格式化程序的 sincs?

  5. 5

    如何在Android中使用不同的参数格式化不同语言的字符串?

  6. 6

    如何在不同的行中使用不同的条件进行过滤?

  7. 7

    我如何preg_grep日期

  8. 8

    在键上对PHP不同格式的多维数组进行排序

  9. 9

    如何在PHP中使用不同的查询添加两个不同的行

  10. 10

    如何在PHP中使用不同的查询添加两个不同的行

  11. 11

    如何在 PHP 中使用不同的数据更新 2 个不同的列?

  12. 12

    如何在Django中使用不同的数据库引擎进行测试和生产

  13. 13

    如何在SQL中使用不同的日期值对行进行分组和排序

  14. 14

    如何在Django中使用不同的数据库引擎进行测试和生产

  15. 15

    如何在状态图中使用不同的分布进行速率转换?

  16. 16

    如何在 c++ Autotools 项目中使用不同版本的 g++ 进行编译

  17. 17

    如何在MiniZinc中使用特定数字域初始化变量?

  18. 18

    如何在javascript / jquery中测试日期的不同格式?

  19. 19

    PHP:使用preg_grep查找数组中的值,不区分大小写

  20. 20

    如何在MySQL中使用不同的参数更新查询

  21. 21

    如何在SQL MERGE中使用不同的子查询

  22. 22

    如何在RecycleView中使用不同的视图

  23. 23

    如何在RecycleView中使用不同的视图

  24. 24

    如何在nextjs中使用不同的.env文件?

  25. 25

    如何在Nim中使用不同的参数缓存函数?

  26. 26

    如何在SQL MERGE中使用不同的子查询

  27. 27

    如何在UITableViewCell UILabel中使用不同的字体名称

  28. 28

    如何在RecycleView中使用不同的视图

  29. 29

    如何在Xapian中使用不同的ID?

热门标签

归档