У меня есть массив:
$stu_result( [exam_type] => 1 [subject_id] => 5 [converted_mark] =>5.00[student_id] => 186 [sub_name] => maths)
и его длина составляет 15.
Я хочу, чтобы соответствовать тип экзамена и сохранить sub_name и преобразованные оценки в пустом массиве. Я попробовал этот код:
Это мой код пробовал пока
$result_exam1 = array();
foreach($stu_result as $result_temp){
if($result_temp['exam_type'] == 1){
$result_exam1['converted_mark'] = $result_temp['converted_mark'];
$result_exam1['sub_name'] = $result_temp['sub_name'];
}
}
Надеюсь, что это поможет вам :
Замечания : $stu_result
должен быть многомерным массивом для цикла и использования key value
особенность цикла foreach для получения всех данных следующим образом:
$result_exam1 = array();
foreach($stu_result as $key => $result_temp)
{
if($result_temp['exam_type'] == 1)
{
$result_exam1[$key]['converted_mark'] = $result_temp['converted_mark'];
$result_exam1[$key]['sub_name'] = $result_temp['sub_name'];
}
}
print_r($result_exam1);
Я сбросил весь массив за $ stu_result. Это то, что вы ищите?
<?php
$stu_result = [
array("exam_type" => 1, "subject_id" => 5, "converted_mark" => 5.00, "student_id" => 186, "sub_name" => "maths"),
array("exam_type" => 1, "subject_id" => 6, "converted_mark" => 4.00, "student_id" => 186, "sub_name" => "maths"),
array("exam_type" => 1, "subject_id" => 7, "converted_mark" => 5.00, "student_id" => 186, "sub_name" => "maths"),
array("exam_type" => 1, "subject_id" => 8, "converted_mark" => 3.00, "student_id" => 186, "sub_name" => "maths"),
array("exam_type" => 1, "subject_id" => 9, "converted_mark" => 4.00, "student_id" => 186, "sub_name" => "maths"),
array("exam_type" => 1, "subject_id" => 10, "converted_mark" => 3.00, "student_id" => 186, "sub_name" => "maths"),
array("exam_type" => 1, "subject_id" => 11, "converted_mark" => 4.00, "student_id" => 186, "sub_name" => "maths"),
array("exam_type" => 1, "subject_id" => 12, "converted_mark" => 5.00, "student_id" => 186, "sub_name" => "maths"),
array("exam_type" => 1, "subject_id" => 13, "converted_mark" => 4.00, "student_id" => 186, "sub_name" => "maths"),
array("exam_type" => 1, "subject_id" => 14, "converted_mark" => 5.00, "student_id" => 186, "sub_name" => "maths"),
array("exam_type" => 1, "subject_id" => 15, "converted_mark" => 2.00, "student_id" => 186, "sub_name" => "maths"),
array("exam_type" => 1, "subject_id" => 16, "converted_mark" => 1.00, "student_id" => 186, "sub_name" => "maths"),
array("exam_type" => 2, "subject_id" => 17, "converted_mark" => 5.00, "student_id" => 186, "sub_name" => "not maths"),
array("exam_type" => 2, "subject_id" => 18, "converted_mark" => 2.00, "student_id" => 186, "sub_name" => "not maths"),
array("exam_type" => 2, "subject_id" => 19, "converted_mark" => 5.00, "student_id" => 186, "sub_name" => "not maths"),
];
$result_exam1 = array();
foreach($stu_result as $result_temp){
if($result_temp['exam_type'] == 1){
$row = array( //create an array, with two values and map the values
"converted_mark" => $result_temp['converted_mark'],
"sub_name" => $result_temp['sub_name']
);
$result_exam1[] = $row; //append to the array
}
}
var_dump($result_exam1);
?>