3v4l.org

run code in 300+ PHP versions simultaneously
<?php $MessagesArray = [ ["date" => "2016/11/27"], ["date" => "2016/11/27"], ["date" => "2016/11/27"], ["date" => "2016/11/27"], ["date" => "2016/11/28"], ["date" => "2016/11/30"], ["date" => "2016/12/01"], ["date" => "2016/12/05"], ["date" => "2017/01/04"], ["date" => "2018/01/15"] ]; $yr = null; $mo = null; $dy = null; foreach ($MessagesArray as $row) { if ($row["date"] == "$yr/$mo/$dy") { continue; } [$y, $m, $d] = explode("/", $row["date"]); if (($m != $mo || $y != $yr) && $mo !== null) { echo "\t</div>\n"; } if ($y != $yr) { if ($yr !== null) { echo "</div>\n"; } echo "<div class='year'>$y\n"; } if ($m != $mo || $y != $yr) { echo "\t<div class='month'>Month $m\n"; } echo "\t\t<div class='day'>Day $d</div>\n"; $yr = $y; $mo = $m; $dy = $d; } if (sizeof($MessagesArray)) { echo "\t</div>\n</div>"; }
Output for 7.1.0 - 7.1.33, 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.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
<div class='year'>2016 <div class='month'>Month 11 <div class='day'>Day 27</div> <div class='day'>Day 28</div> <div class='day'>Day 30</div> </div> <div class='month'>Month 12 <div class='day'>Day 01</div> <div class='day'>Day 05</div> </div> </div> <div class='year'>2017 <div class='month'>Month 01 <div class='day'>Day 04</div> </div> </div> <div class='year'>2018 <div class='month'>Month 01 <div class='day'>Day 15</div> </div> </div>
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 <div class='year'>2016 <div class='month'>Month 11 <div class='day'>Day 27</div> <div class='day'>Day 28</div> <div class='day'>Day 30</div> </div> <div class='month'>Month 12 <div class='day'>Day 01</div> <div class='day'>Day 05</div> </div> </div> <div class='year'>2017 <div class='month'>Month 01 <div class='day'>Day 04</div> </div> </div> <div class='year'>2018 <div class='month'>Month 01 <div class='day'>Day 15</div> </div> </div>
Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33
Parse error: syntax error, unexpected '=' in /in/HbSXI on line 22
Process exited with code 255.

preferences:
220.44 ms | 402 KiB | 287 Q