3v4l.org

run code in 300+ PHP versions simultaneously
<?php $rows = [ ['name' => 'name_one', 'y' => '2016', 'q' => '2', 'st' => 1], ['name' => 'name_one', 'y' => '2017', 'q' => '3', 'st' => 2], ['name' => 'name_two', 'y' => '2017', 'q' => '1', 'st' => 1], ['name' => 'name_two', 'y' => '2017', 'q' => '2', 'st' => 2], ]; $data = []; $names = []; $years = []; $qs = []; foreach ($rows as $row) { $link = &$data; foreach (['name', 'y'] as $field) { if (!isset($link[$row[$field]])) $link[$row[$field]] = []; $link = &$link[$row[$field]]; } $link[$row['q']] = $row['st']; unset($link); // $names[$row['name']] = true; $years[$row['y']] = true; $qs[$row['q']] = true; } // Опционально сортируем $names = array_keys($names); sort($names); $years = array_keys($years); sort($years); $qs = array_keys($qs); sort($qs); ?> <table> <tr> <th>Name <?foreach($years as $y):?> <th colspan="<?=count($qs)?>"><?=$y?> <?endforeach?> <tr> <th>&nbsp; <?foreach($years as $y):?> <?foreach($qs as $q):?> <th>q<?=$q?> <?endforeach?> <?endforeach?> <?foreach($names as $name):?> <tr> <td><?=$name?> <?foreach($years as $y):?> <?foreach($qs as $q):?> <td><?=isset($data[$name][$y][$q]) ? $data[$name][$y][$q] : '' ?></td> <?endforeach?> <?endforeach?> <?endforeach?> </table>
Output for git.master, git.master_jit, rfc.property-hooks
<table> <tr> <th>Name <?foreach($years as $y):?> <th colspan="3"> Warning: Undefined variable $y in /in/gGKeH on line 40 <?endforeach?> <tr> <th>&nbsp; <?foreach($years as $y):?> <?foreach($qs as $q):?> <th>q Warning: Undefined variable $q in /in/gGKeH on line 46 <?endforeach?> <?endforeach?> <?foreach($names as $name):?> <tr> <td> Warning: Undefined variable $name in /in/gGKeH on line 52 <?foreach($years as $y):?> <?foreach($qs as $q):?> <td> Warning: Undefined variable $name in /in/gGKeH on line 55 Warning: Undefined variable $y in /in/gGKeH on line 55 Warning: Undefined variable $q in /in/gGKeH on line 55 </td> <?endforeach?> <?endforeach?> <?endforeach?> </table>

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:
32.43 ms | 407 KiB | 5 Q