php在多个字段中搜索多维数组

时间:2017-05-20 06:34:06

标签: php

我有一个多维数组(包含subject_code,subject_name和grade)。在给出成绩和主题名称时,我需要提取subject_code。 Stackoverflow上有很多与 array_search 相关的回复,但只有一个字段搜索。是否有一种更优雅的方式来执行此搜索,而不是我下面的“拖网”代码:

function get_subject_code($subjects_array, $count_subs, $grade, $subject) {
    for($i=0;$i<$count_subs;$i++){
        if (($subjects_array[$i]['grade'] == $grade) && ($subjects_array[$i]['subject'] == $subject) ){
            $lesson = $subjects_array[$i]['coursecode'];
        }
    }
    return $lesson;
}

1 个答案:

答案 0 :(得分:0)

你可以像这样array_filter,

$lessons = array_column(array_filter($subjects_array, function($v) use($grade, $subject){
  return $v['grade'] == $grade && $v['subject'] == $subject;
}), 'subject_code');