3v4l.org

run code in 300+ PHP versions simultaneously
<?php $sql = [ ['id'=>1,'user_id'=>1,'question_id'=>1,'answer'=>'3c','date'=>'2021.08.06',], ['id'=>2,'user_id'=>1,'question_id'=>2,'answer'=>'2c','date'=>'2021.08.06',], ['id'=>3,'user_id'=>1,'question_id'=>3,'answer'=>'1c','date'=>'2021.08.06',], ['id'=>4,'user_id'=>1,'question_id'=>4,'answer'=>'com','date'=>'2021.08.06',], ['id'=>5,'user_id'=>2,'question_id'=>1,'answer'=>'3','date'=>'2021.08.08',], ['id'=>6,'user_id'=>2,'question_id'=>2,'answer'=>'2','date'=>'2021.08.08',], ['id'=>7,'user_id'=>2,'question_id'=>3,'answer'=>'1','date'=>'2021.08.08',], ['id'=>8,'user_id'=>2,'question_id'=>4,'answer'=>'2comm','date'=>'2021.08.08',], ['id'=>9,'user_id'=>211,'question_id'=>1,'answer'=>'113','date'=>'2021.07.08',], ['id'=>10,'user_id'=>211,'question_id'=>2,'answer'=>'22','date'=>'2021.07.08',], ['id'=>11,'user_id'=>211,'question_id'=>3,'answer'=>'132','date'=>'2021.07.08',], ['id'=>12,'user_id'=>211,'question_id'=>4,'answer'=>'qeww','date'=>'2021.07.08',] ]; $quest = array_unique(array_column($sql, 'question_id')); sort($quest); // optional $data = []; foreach($sql as $row){ $user_id = $row['user_id']; if (!isset($data[$user_id])){ $data[$user_id] = ['date' => $row['date'], 'ans' => []]; } foreach($quest as $question_id){ if ($row['question_id'] == $question_id) { $data[$user_id]['ans'][$question_id] = $row['answer']; } } } foreach($data as $userID => $user_data){ echo '<tr>'.PHP_EOL; echo ' <td> User ID: '.$userID.'</td>'.PHP_EOL; foreach($user_data['ans'] as $q_id => $q_ans){ echo ' <td>'.$q_ans.'</td>'.PHP_EOL; } echo ' <td> Date: '.$user_data['date'].'</td>'.PHP_EOL; echo '</tr>'.PHP_EOL; }
Output for 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.4, 8.3.6 - 8.3.25, 8.4.1 - 8.4.12
<tr> <td> User ID: 1</td> <td>3c</td> <td>2c</td> <td>1c</td> <td>com</td> <td> Date: 2021.08.06</td> </tr> <tr> <td> User ID: 2</td> <td>3</td> <td>2</td> <td>1</td> <td>2comm</td> <td> Date: 2021.08.08</td> </tr> <tr> <td> User ID: 211</td> <td>113</td> <td>22</td> <td>132</td> <td>qeww</td> <td> Date: 2021.07.08</td> </tr>
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 <tr> <td> User ID: 1</td> <td>3c</td> <td>2c</td> <td>1c</td> <td>com</td> <td> Date: 2021.08.06</td> </tr> <tr> <td> User ID: 2</td> <td>3</td> <td>2</td> <td>1</td> <td>2comm</td> <td> Date: 2021.08.08</td> </tr> <tr> <td> User ID: 211</td> <td>113</td> <td>22</td> <td>132</td> <td>qeww</td> <td> Date: 2021.07.08</td> </tr>

preferences:
153.57 ms | 409 KiB | 5 Q