php 在多维数组中保留包含特定子字符串的行[关闭]

gdx19jrr  于 4个月前  发布在  PHP
关注(0)|答案(1)|浏览(72)

已关闭。此问题需要更多focused。目前不接受回答。
**要改进此问题吗?**更新此问题,使其仅针对editing this post的一个问题。

两年前关闭。
Improve this question
我有下面的API输出,我基本上想抓住成员ID时,字段相对包含'分钟'我怎么能这样做与数组过滤器?

[
    'members' => [ 
        239 => ['relative' => '21 minutes ago'],
        941591 => ['relative' => '5 hours ago'],        
        4178 => ['relative' => '59 minutes ago'],       
        78 => ['relative' => '2 hours ago']
    ]
]

字符串
(not在正确的术语上是肯定的),但是“relative”是成员id下面的头/字段名称,并且字段relative包含如下值:“59分钟前”
我知道我可以通过循环遍历所有成员并检查字段来得到答案,但我不喜欢这样做

0s0u357o

0s0u357o1#

提取relative列,并对包含minutes的列使用grep:

$result = preg_grep('/minutes/', array_column($array['members'], 'relative'));

字符串
或过滤器:

$result = array_filter($array['members'],
                       function($v) {
                           return strpos($v['relative'], 'minutes') !== false;
                       });


那就去拿钥匙

$ids = array_keys($result);

相关问题