3v4l.org

run code in 300+ PHP versions simultaneously
<?php $data = <<<'DATA' / NN JJ : : ; ; < SYM = SYM > SYM NN ? . @ IN SYM A DT NNP NNS PRP FW JJ LS NN NNPS VB A$ $ A&E NNP A&M NNP NN A&P NNP NN A&W NNP A-1 JJ NN A.A. NNP NN A.A.U. NNP A.B. NNP NN A.C. NNP A.D NN A.D. NNP FW NN RB DATA; function encode_lexicon($inFp, $outFp) { fwrite($outFp, "function get_lexicon()\n{\n return [\n"); while ($line = fgets($inFp)) { $parts = preg_split('/\s+/', trim($line)); $key = var_export(array_shift($parts), true); $vals = implode(', ', array_map('var_export', $parts, array_fill(0, count($parts), true))); fwrite($outFp, " {$key} => [{$vals}],\n"); } fwrite($outFp, " ];\n}\n"); } $inFp = fopen('php://temp', 'w+'); fwrite($inFp, $data); rewind($inFp); encode_lexicon($inFp, STDOUT);
Output for 5.6.0 - 5.6.27, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
function get_lexicon() { return [ '/' => ['NN', 'JJ'], ':' => [':'], ';' => [';'], '<' => ['SYM'], '=' => ['SYM'], '>' => ['SYM', 'NN'], '?' => ['.'], '@' => ['IN', 'SYM'], 'A' => ['DT', 'NNP', 'NNS', 'PRP', 'FW', 'JJ', 'LS', 'NN', 'NNPS', 'VB'], 'A$' => ['$'], 'A&E' => ['NNP'], 'A&M' => ['NNP', 'NN'], 'A&P' => ['NNP', 'NN'], 'A&W' => ['NNP'], 'A-1' => ['JJ', 'NN'], 'A.A.' => ['NNP', 'NN'], 'A.A.U.' => ['NNP'], 'A.B.' => ['NNP', 'NN'], 'A.C.' => ['NNP'], 'A.D' => ['NN'], 'A.D.' => ['NNP', 'FW', 'NN', 'RB'], ]; }

preferences:
92.6 ms | 1828 KiB | 4 Q