3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ ['spubid' => 'A00502','sfirst'=>'J.','smi'=>'A.','slast'=>'Doe'], ['spubid' => 'A00502','sfirst'=>'J.','smi'=>'F.','slast'=>'Kennedy'], ['spubid' => 'A00502','sfirst'=>'B.','smi'=>'F.','slast'=>'James'], ['spubid' => 'BXXXXX','sfirst'=>'B.','smi'=>'F.','slast'=>'James'], ['spubid' => 'A00502','sfirst'=>'S.','smi'=>'M.','slast'=>'Williamson'], ]; $result = []; foreach ($array as $row) { $id = $row['spubid']; if (!isset($ref[$id])) { $ref[$id] = $row; $counter[$id] = 0; $result[] = &$ref[$id]; } else { unset($row['spubid']); ++$counter[$id]; foreach ($row as $k => $v) { $ref[$id][$k . $counter[$id]] = $v; } } } var_export($result);
Output for git.master_jit, git.master, rfc.property-hooks
array ( 0 => array ( 'spubid' => 'A00502', 'sfirst' => 'J.', 'smi' => 'A.', 'slast' => 'Doe', 'sfirst1' => 'J.', 'smi1' => 'F.', 'slast1' => 'Kennedy', 'sfirst2' => 'B.', 'smi2' => 'F.', 'slast2' => 'James', 'sfirst3' => 'S.', 'smi3' => 'M.', 'slast3' => 'Williamson', ), 1 => array ( 'spubid' => 'BXXXXX', 'sfirst' => 'B.', 'smi' => 'F.', 'slast' => 'James', ), )

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
92.01 ms | 406 KiB | 5 Q