2017-05-20 98 views
0

我有一個多維數組(包含subject_code,subject_name和等級)。給定成績和學科名稱時,我需要提取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; 
} 
+0

發佈陣列結構,你需要什麼,或者沒有人們可以幫助你 – Exprator

回答

0

可以array_filter這樣,

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