PHP regex在没有指定字符串的情况下获取数组中哪个字符串的名称和电话号码

PHP regex在没有指定字符串的情况下获取数组中哪个字符串的名称和电话号码,php,regex,Php,Regex,我的正则表达式很差,但我必须解决一个问题,我有一个问题,数组中的字符串如下: Array( [0] => Array ( [delivery_name] => Michael +182322085183/+189626742830 ) [1] => Array ( [delivery_name] => RAI ) [2] =>

我的正则表达式很差,但我必须解决一个问题,我有一个问题,数组中的字符串如下:

Array(
    [0] => Array
        (
            [delivery_name] => Michael +182322085183/+189626742830
        )

    [1] => Array
        (
            [delivery_name] => RAI
        )

    [2] => Array
        (
            [delivery_name] => +182165070134
        )
)
Array(
    [0] => Array
        (
           [name] => Michael
           [phone] => +182322085183
        )

    [1] => Array
        (
           [name] => +182165070134
           [phone] => +182165070134
        )
)
如何进行分离并获取姓名和电话号码。我想得出如下结果:

Array(
    [0] => Array
        (
            [delivery_name] => Michael +182322085183/+189626742830
        )

    [1] => Array
        (
            [delivery_name] => RAI
        )

    [2] => Array
        (
            [delivery_name] => +182165070134
        )
)
Array(
    [0] => Array
        (
           [name] => Michael
           [phone] => +182322085183
        )

    [1] => Array
        (
           [name] => +182165070134
           [phone] => +182165070134
        )
)
如果不匹配,手机将取消阵列设置


谢谢你的帮助……

说实话,我的reg ex也不太好。但是不用担心,尝试一下,有很多方法可以做

这不是代码,而是您需要执行的操作,让我们将第一个数组设为array\u one,将得到的数组设为array\u two

1) 迭代数组中的每个数组

2) 根据我在这里看到的内容,我假设array\u one的每个条目只有键值“[delivery\u name]”,并且“delivery\u name”值是这三种方法中的任意一种

name + numeric value with symbols
name only
numeric value with symbols only 
3) 因此,首先从空格字符中拆分字符串(php中有用于此的函数),这将划分名称和数字。(此处假定只有一个名称,没有多个名称由空格分隔)

4) 我们必须通过将拆分字符串值添加到第二个数组来填充生成的数组。 在此之前,我们必须使用
preg\u replace
替换不需要的符号,这样我们就可以得到一个精确的字符串作为数字。(参考:)


5) 完成后,使用
is\u numeric
函数检查两个字符串值。如果两者都不是数字,则跳过将数据添加到第二个数组。如果一个不是数字,那么在第二个数组中作为“name”键值,另一个作为“phone”

仅仅因为你的正则表达式不好,并不意味着你甚至不应该尝试解决你的问题。这不是一个免费的编码服务。我想你忘了包括字符串、测试用例和输出以及你的代码work@devnull你错了。它是。不幸的是,很多用户都是这样做的。这取决于你。@devnull:如果你帮不了他,就别那样说话。