3v4l.org

run code in 300+ PHP versions simultaneously
<?php $pages = json_decode('{ "Pages":{ "Home":"Dashboard", "USD Market":{ "Current-Trades":"USD-Current-Trades", "Exchange-Trades":"USD-Exchange-Trades" } } }', true); class Z { private $pages; private $currentPage; public function setConfig($currentPage, array $config) { $this->currentPage = $currentPage; $this->pages = []; $this->addToPageList($config['Pages']); } public function pages($linkName) { return $this->pages[$linkName]; } public function addToPageList(array $pages) { foreach ($pages as $key => $page) { if (is_array($page)) { $this->addToPageList($page); } else { $active = ($page == $this->currentPage) ? 'active' : 'inactive'; $this->pages[$page] = $active; } } } } $z = new Z(); $z->setConfig('USD-Exchange-Trades', $pages); // current page, page config echo $z->pages('USD-Exchange-Trades') . "\n"; echo $z->pages('USD-Current-Trades') . "\n"; echo $z->pages('Dashboard') . "\n";
Output for git.master, git.master_jit, rfc.property-hooks
active inactive inactive

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:
61.01 ms | 405 KiB | 5 Q