根据值选择数组 - PHP

时间:2015-02-21 19:28:05

标签: php arrays

代码在php中。我有很多像

这样的数组
Array ( [0] => HLA-A11 [1] => HLA-class II )
Array ( [0] => HLA-class II [1] => HLA-class I )
Array ( [0] => HLA-class II [1] => HLA-A14 )
Array ( [0] => HLA-A2 [1] => HLA-A24 )
Array ( [0] => HLA-class I )

我想选择不包含该值的数组(HLA-II类或HLA-I类)或包含一个或两个但具有其他值(不同于HLA-I类和HLA-II类)的数组。在这里,我将选择数组1,3,4。基本上我想丢弃只包含HLA-I类或HLA-II类或两者的数组。

我一直在使用类似的东西,$ mhc_res_pos是带有要比较的值的数组,$ final_data是用于存储所选等位基因的数组

if(in_array('HLA-class II',$mhc_res_pos)){

}
else{
    array_push($final_data, $mhc_res_pos);
}

谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用array_filter轻松完成此操作。

$arrayTmp = array_filter($array, function ($value) {
    if ($value == 'Remove this' || $value == 'Remove that') 
        return false;
    return true;
});

if (empty($arrayTmp)) {
    // Discard $array
} else {
    // Keep $array
}

不确定你的意思"丢弃数组"虽然。