简体   繁体   English

如何使用键值过滤数组

[英]How to filter array using key value

I have this array so how can i filter using key value i want per_hour inbetween 10 to 70 and gender = M我有这个数组,所以我如何使用键值进行过滤,我希望per_hour 在10 到 70 之间,并且性别= M

but in my case i have to add condition if per_hour parameter set or gender parameter set if both set than combine result will display other wise set parameter based result但在我的情况下,我必须添加条件 if per_hour 参数集或性别参数集,如果两者都设置而不是组合结果将显示其他明智的基于参数设置的结果

so how can i filer using per_hour and gender both please provide sollution那么我如何使用 per_hour 和性别进行过滤,请提供解决方案

Array
(
    [0] = Array
        (            
            [tutor] = Array
                (                    
                    [per_hour] =50                    
                    [gender] = F
               )

        )

    [1] => Array
        (


            [tutor] =Array
                (

                    [per_hour] = 50

                    [gender] = M

                )

        )

    [2] => Array
        (

            [tutor] =Array
                (                   
                    [per_hour] = 818

                    [gender] = F

                )

        ) 

)

You can set a function as array_filter's callback to check for per_hour and gender您可以设置一个函数作为 array_filter 的回调来检查 per_hour 和性别

$filter = array_filter($array, function($e){
    return ($e['tutor']['per_hour'] == 50 && $e['tutor']['gender'] == 'M');
});

print_r($filter);

Try array_map function to itrate.尝试使用array_map函数进行迭代。 Eg :例如:

$myarray=array(array('tutor'=>array('genedr'=>'M','per_hour'=>50)));
$result_array=array_map($myarray,function($ar){ return ($ar['tutor']['per_hour']==50 && $ar['tutor']['gender']=="M") })?$ar['tutor']:'';
$filterdArray=array_filter($result_array);
print_r($result_array);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM