首页 > 解决方案 > 我如何在 php 中使用 array_filter

问题描述

嗨我有这个问题

my array

[
  [
    'mykey'=>40
  ],
  [
    'mykey'=>37
  ],
  [
    'mykey'=>14
  ],
  [
    'mykey'=>7
  ],
]

我有一个数组,我想按一个值过滤一些键,所以使用它

$r = array_filter($res, function($e){
            return $e['mykey'] == 37;
        });

但我需要存储一系列类似这样的数字

$r = array_filter($res, function($e){
            return $e['mykey'] == [37, 14, 7];
        });

我如何像这样过滤,所以如果 mykey 等于这些值,那么返回值为 37 14 和 7 的数组

标签: phparraysfilterarray-filter

解决方案


您可以使用in_array检查值是否存在于列表中。

<?php
...

$r = array_filter($res, function($e){
    return in_array($e['mykey'], [37, 14, 7]);
});

推荐阅读