3v4l.org

run code in 300+ PHP versions simultaneously
<?php $str = '{ "showElement": "1", "degrees": [{ "Name": "Bachelor in Psychology", "Number": "53", "degree": "Bachelor\'s Degree" }, { "Name": "Certificate", "Number": "56", "degree": "Certificate" }, { "Name": "High School Diploma", "Number": "28", "degree": "High School" }, { "Name": "Bachelor in Sociology", "Number": "109", "degree": "Bachelor\'s Degree" }] }'; $str_arr = json_decode($str); foreach($str_arr->degrees as $k=>$val){ if($val->degree == 'Bachelor\'s Degree'){ $new['Bachelor'][] = $val; }else{ $new[] = $val; } } foreach($new['Bachelor'] as $aa){ $nameStr[]= $aa->Name; $numStr[] = $aa->Number; } $nameStr = implode(', ', $nameStr); $numStr = implode(', ', $numStr); $degree = 'Bachelor\'s Degree'; $new[] = (object) array($nameStr, $numStr, $degree); unset($new['Bachelor']); echo $json = json_encode($new); echo "<pre>"; print_r(json_decode($json));
Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.28, 8.4.1 - 8.4.16, 8.5.0 - 8.5.1
[{"Name":"Certificate","Number":"56","degree":"Certificate"},{"Name":"High School Diploma","Number":"28","degree":"High School"},{"0":"Bachelor in Psychology, Bachelor in Sociology","1":"53, 109","2":"Bachelor's Degree"}]<pre>Array ( [0] => stdClass Object ( [Name] => Certificate [Number] => 56 [degree] => Certificate ) [1] => stdClass Object ( [Name] => High School Diploma [Number] => 28 [degree] => High School ) [2] => stdClass Object ( [0] => Bachelor in Psychology, Bachelor in Sociology [1] => 53, 109 [2] => Bachelor's Degree ) )

preferences:
190.69 ms | 410 KiB | 5 Q