fork download
  1. <?php
  2. $array = array(
  3. array('gr_number' => 1, 'batch' => 'A', 'maths' => '80/100', 'english' => '80/100', 'science' => '80/100', 'hindi' => '80/100', 'computer' => '80/100', 'socialscience' => '85/100'),
  4. array('gr_number' => 2, 'batch' => 'A', 'maths' => '80/100', 'english' => '80/100', 'science' => '80/100', 'hindi' => '80/100', 'computer' => '80/100', 'socialscience' => '86/100'),
  5. array('gr_number' => 3, 'batch' => 'A', 'maths' => '80/100', 'english' => '80/100', 'science' => '80/100', 'hindi' => '80/100', 'computer' => '80/100', 'socialscience' => '87/100'),
  6. );
  7.  
  8. $keys = array('gr_number', 'batch');
  9. $excludes = array_combine($keys, array_fill(0, count($keys), 0));
  10. $result = array_map(
  11. function ($arr) use($excludes) {
  12. $ret = array_intersect_key($arr, $excludes);
  13. $arr = array_diff_key($arr, $excludes);
  14. $ret['result_details'] = implode(', ', array_map(
  15. function ($v1, $v2) { return "$v1:$v2"; },
  16. array_keys($arr), array_values($arr)
  17. ));
  18. return $ret;
  19. },
  20. $array
  21. );
  22.  
  23. print_r($result);
  24.  
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
stdout
Array
(
    [0] => Array
        (
            [gr_number] => 1
            [batch] => A
            [result_details] => maths:80/100, english:80/100, science:80/100, hindi:80/100, computer:80/100, socialscience:85/100
        )

    [1] => Array
        (
            [gr_number] => 2
            [batch] => A
            [result_details] => maths:80/100, english:80/100, science:80/100, hindi:80/100, computer:80/100, socialscience:86/100
        )

    [2] => Array
        (
            [gr_number] => 3
            [batch] => A
            [result_details] => maths:80/100, english:80/100, science:80/100, hindi:80/100, computer:80/100, socialscience:87/100
        )

)