Php 从多数组中筛选多个值

Php 从多数组中筛选多个值,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我的数组如下所示: $myArray = array( array( 'uid' => '100', 'name' => 'Michael', 'pic_square' => 'urs121' ), array( 'uid' => '200', 'name' => 'machavent', 'pic_square' => 'urs222'

我的数组如下所示:

$myArray = array(
    array(
        'uid' => '100',
        'name' => 'Michael',
        'pic_square' => 'urs121'
    ),
    array(
        'uid' => '200',
        'name' => 'machavent',
        'pic_square' => 'urs222'
    ),
    array(
        'uid' => '300',
        'name' => 'Ayem',
        'pic_square' => 'urs333'
    ),
    array(
        'uid' => '400',
        'name' => 'Bucin',
        'pic_square' => 'urs444'
    ),
    array(
        'uid' => '500',
        'name' => 'Bangcad',
        'pic_square' => 'urs555'
    )
);
这是我的职责:

function filterElement($array, $key, $value){
    foreach($array as $subKey => $subArray){
        if($subArray[$key] != $value){
            unset($array[$subKey]);
        }
    }
    return $array;
}
                        
如果我只需要从uid=100获取数据,那么这工作正常

$mydata = '100';
$array = filterElement($myArray, "uid", $mydata);
我的结果

但是,如果我想从uid=[100300]获取数据,该怎么办呢

我正试着这样打电话

$mydata = ['100','300'];
$array = filterElement($myArray, "uid", $mydata);
并将我的函数改为

function filterElement($array, $key, $value){
    foreach($array as $subKey => $subArray){
        for($i=0;$i<count($value);$i++){
            if($subArray[$key] != $value[$i]){
                unset($array[$subKey]);
            }
        }
    }
    return $array;
}

因此,我的问题是如何使用多维数组中的多值筛选数据。

使用
数组\u筛选功能:

函数filterElement($array,$key,$value){
如果(!is_数组($value))$value=[$value];
返回数组\过滤器($array,function($item)use($key,$value){
返回数组($item[$key],$value);
});
}
//用法:
$array=filterElement($myArray,“uid”,“100”);
$array=filterElement($myArray,“uid”['100','300']);
array(0) {
}