3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string = "Football / Germany / 1.Liga Football / Germany / 1.Liga Football / Germany / 2.Liga Football / Germany / 2.Liga Football / Germany / 2.Liga Football / England / 1.Liga Football / England / 1.Liga Football / England / 2.Liga Football / England / 2.Liga Football / England / 3.Liga Hockey / Germany / 1.Liga Hockey / Germany / 1.Liga Hockey / Germany / 2.Liga Fechten / Meisterschaft Fechten / Meisterschaft Fechten / Weltmeister"; class ArrayStacker { public function stackArray($string) { $array = $this->splitString($string); $stackedArray = array(); foreach($array as $row) { $stackedArray[] = $this->_stack($row); } return $stackedArray; } /** * Split the whole string into a big array * * @param string $string * @return array */ protected function splitString($string) { $lines = explode("\n", $string); $i = 0; $array = array(); foreach($lines as $line) { $values = explode(' / ', $line); foreach($values as $v => $value) { $values[$v] = trim($value); // make sure we got no whitespaces } $array[$i] = $values; $i++; } return $array; } protected function _stack($array) { $stackedArray = array(); if(($key = array_shift($array)) != null) { $stackedArray[$key] = $this->_stack($array); } else { return null; } return $stackedArray; } } $arrayStacker = new ArrayStacker(); var_dump($arrayStacker->stackArray($string));
Output for git.master, git.master_jit, rfc.property-hooks
array(16) { [0]=> array(1) { ["Football"]=> array(1) { ["Germany"]=> array(1) { ["1.Liga"]=> NULL } } } [1]=> array(1) { ["Football"]=> array(1) { ["Germany"]=> array(1) { ["1.Liga"]=> NULL } } } [2]=> array(1) { ["Football"]=> array(1) { ["Germany"]=> array(1) { ["2.Liga"]=> NULL } } } [3]=> array(1) { ["Football"]=> array(1) { ["Germany"]=> array(1) { ["2.Liga"]=> NULL } } } [4]=> array(1) { ["Football"]=> array(1) { ["Germany"]=> array(1) { ["2.Liga"]=> NULL } } } [5]=> array(1) { ["Football"]=> array(1) { ["England"]=> array(1) { ["1.Liga"]=> NULL } } } [6]=> array(1) { ["Football"]=> array(1) { ["England"]=> array(1) { ["1.Liga"]=> NULL } } } [7]=> array(1) { ["Football"]=> array(1) { ["England"]=> array(1) { ["2.Liga"]=> NULL } } } [8]=> array(1) { ["Football"]=> array(1) { ["England"]=> array(1) { ["2.Liga"]=> NULL } } } [9]=> array(1) { ["Football"]=> array(1) { ["England"]=> array(1) { ["3.Liga"]=> NULL } } } [10]=> array(1) { ["Hockey"]=> array(1) { ["Germany"]=> array(1) { ["1.Liga"]=> NULL } } } [11]=> array(1) { ["Hockey"]=> array(1) { ["Germany"]=> array(1) { ["1.Liga"]=> NULL } } } [12]=> array(1) { ["Hockey"]=> array(1) { ["Germany"]=> array(1) { ["2.Liga"]=> NULL } } } [13]=> array(1) { ["Fechten"]=> array(1) { ["Meisterschaft"]=> NULL } } [14]=> array(1) { ["Fechten"]=> array(1) { ["Meisterschaft"]=> NULL } } [15]=> array(1) { ["Fechten"]=> array(1) { ["Weltmeister"]=> NULL } } }

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:
49.8 ms | 409 KiB | 8 Q