3v4l.org

run code in 500+ PHP versions simultaneously
<?php $members = array( array( 'num' => 2, 'rank' => 0, 'dense_rank' => 0, ), array( 'num' => 2, 'rank' => 0, 'dense_rank' => 0, ), array( 'num' => 3, 'rank' => 0, 'dense_rank' => 0, ), array( 'num' => 3, 'rank' => 0, 'dense_rank' => 0, ), array( 'num' => 3, 'rank' => 0, 'dense_rank' => 0, ), array( 'num' => 3, 'rank' => 0, 'dense_rank' => 0, ), array( 'num' => 3, 'rank' => 0, 'dense_rank' => 0, ), array( 'num' => 5, 'rank' => 0, 'dense_rank' => 0, ), array( 'num' => 9, 'rank' => 0, 'dense_rank' => 0, ), array( 'num' => 9, 'rank' => 0, 'dense_rank' => 0, ), array( 'num' => 9, 'rank' => 0, 'dense_rank' => 0, ) ); $denseRank = 0; $gappedRank = 0; foreach ($members as &$row) { $denseRanks[$row['num']] ??= ++$denseRank; $row['dense_rank'] = $denseRanks[$row['num']]; ++$gappedRank; $gappedRanks[$row['num']] ??= $gappedRank; $row['rank'] = $gappedRanks[$row['num']]; // for better presentation: echo json_encode($row) . "\n"; } //var_export($members);
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.21, 8.5.0 - 8.5.7
{"num":2,"rank":1,"dense_rank":1} {"num":2,"rank":1,"dense_rank":1} {"num":3,"rank":3,"dense_rank":2} {"num":3,"rank":3,"dense_rank":2} {"num":3,"rank":3,"dense_rank":2} {"num":3,"rank":3,"dense_rank":2} {"num":3,"rank":3,"dense_rank":2} {"num":5,"rank":8,"dense_rank":3} {"num":9,"rank":9,"dense_rank":4} {"num":9,"rank":9,"dense_rank":4} {"num":9,"rank":9,"dense_rank":4}
Output for 7.0.16
Parse error: syntax error, unexpected '=' in /in/QadLk on line 64
Process exited with code 255.
Output for 5.6.20 - 5.6.40
Parse error: syntax error, unexpected '?' in /in/QadLk on line 64
Process exited with code 255.

preferences:
91.2 ms | 1335 KiB | 4 Q