3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ [ 'category_id' => 1, 'question_id' => 1, 'option_id' => 2, 'title' => 'Do you wear glasses?', 'answer' => 'no' ], [ 'category_id' => 1, 'question_id' => 2, 'option_id' => 3, 'title' => 'Your hobbies ?', 'answer' => 'movies' ], [ 'category_id' => 1, 'question_id' => 4, 'option_id' => 8, 'title' => 'what is your status?', 'answer' => 'single' ], [ 'category_id' => 1, 'question_id' => 2, 'option_id' => 1, 'title' => 'Your hobbies ?', 'answer' => 'travel' ], ]; $result = []; foreach ($array as $row) { $compositeKey = $row['category_id'] . '_' . $row['question_id']; if (!isset($result[$compositeKey])) { $result[$compositeKey] = $row; } else { $result[$compositeKey]['answer'] .= ",{$row['answer']}"; } } var_export( array_values( $result ) );
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.14, 8.4.16 - 8.4.18, 8.5.0 - 8.5.3
array ( 0 => array ( 'category_id' => 1, 'question_id' => 1, 'option_id' => 2, 'title' => 'Do you wear glasses?', 'answer' => 'no', ), 1 => array ( 'category_id' => 1, 'question_id' => 2, 'option_id' => 3, 'title' => 'Your hobbies ?', 'answer' => 'movies,travel', ), 2 => array ( 'category_id' => 1, 'question_id' => 4, 'option_id' => 8, 'title' => 'what is your status?', 'answer' => 'single', ), )
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.

preferences:
84.61 ms | 1317 KiB | 4 Q