3v4l.org

run code in 300+ PHP versions simultaneously
<?php $myString = "type:blue, type:red, shift:second, shift:first, category:circle, system:unknown"; $params = explode( ", ", $myString ); $possibleKeys = [ "category", "shift", "type", "chances" ]; $ignore = ['system']; $nodes = []; foreach ($params as $param) { $node = explode( ":", $param ); if (in_array( $node[0], $possibleKeys )) { $nodes[$node[0]][] = $node[1]; } else { $nodes[$node[0]] = $node[1]; } } foreach($ignore as $key) { unset($nodes[$key]); } print '<pre>'; print_r($nodes); print '</pre>'; ?>

preferences:
35.57 ms | 406 KiB | 5 Q