3v4l.org

run code in 300+ PHP versions simultaneously
<?php function _prepareSkuParseRules(){ $structure = array(); $skuStructure = "[#name]-[Stoffgruppe]-[Groesse]-[:Ausfuehrung]-[:Matratze]"; $segments = explode("-", $skuStructure); foreach($segments as $segment){ $segmentInfo = array(); //check if segment is fixed if(!preg_match('/^\[(#)?([^\]#]*)\]$/', $segment, $matches)){ //is fixed value $segmentInfo["type"] = "set"; $segmentInfo["value"] = $matches[2]; }else{ if(isset($matches[1]) && !empty($matches[1]) && strcmp($matches[1], "#")==0){ $segmentInfo["type"] = "set"; $segmentInfo["namespace"] = "both"; //is registered variable name switch($matches[2]){ case "name": $segmentInfo["value"] = "Modellname"; break; } }else{ if(isset($matches[1]) && !empty($matches[1]) && strcmp($matches[1], ":")==0){ $segmentInfo["namespace"] = "simple"; }else{ $segmentInfo["namespace"] = "both"; } $segmentInfo["type"] = "variable"; $segmentInfo["fieldname"] = $matches[2]; } } //check if segment is always $structure[] = $segmentInfo; } var_dump($structure); } _prepareSkuParseRules();
Output for git.master, git.master_jit, rfc.property-hooks
array(5) { [0]=> array(3) { ["type"]=> string(3) "set" ["namespace"]=> string(4) "both" ["value"]=> string(10) "Modellname" } [1]=> array(3) { ["namespace"]=> string(4) "both" ["type"]=> string(8) "variable" ["fieldname"]=> string(11) "Stoffgruppe" } [2]=> array(3) { ["namespace"]=> string(4) "both" ["type"]=> string(8) "variable" ["fieldname"]=> string(7) "Groesse" } [3]=> array(3) { ["namespace"]=> string(4) "both" ["type"]=> string(8) "variable" ["fieldname"]=> string(12) ":Ausfuehrung" } [4]=> array(3) { ["namespace"]=> string(4) "both" ["type"]=> string(8) "variable" ["fieldname"]=> string(9) ":Matratze" } }

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:
28.56 ms | 402 KiB | 8 Q