0

I have an array :

$stu_result( [exam_type] => 1 [subject_id] => 5 [converted_mark] =>5.00[student_id] => 186 [sub_name] => maths)

and its length is 15.
I want to match exam type and store sub_name and converted marks in a blank array. I tried this code :

This is my code tried so far

$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'];
        }
}
2
  • what is the error? and which array data in $stu_result ? Commented Aug 14, 2018 at 14:30
  • in $result_exam1 store only last index data but i want to store all data Commented Aug 14, 2018 at 14:33

2 Answers 2

2

Hope this will help you :

Note : $stu_result should be a multidimensional array to loop and use key value feature of foreach loop to get all data like this :

$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);
Sign up to request clarification or add additional context in comments.

Comments

1

I flushed out the entire array for $stu_result. Is this what you are looking for?

<?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);
?>

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.