3v4l.org

run code in 300+ PHP versions simultaneously
<?php function swap_words($words, $synonyms) { $all_synonyms = array_unique(array_merge(...$synonyms)); $result = []; $word = $words[0]; if (in_array($word, $all_synonyms)) { foreach ($synonyms[1] as $replacement) { $result[] = "$replacement " . implode(' ', array_slice($words, 1)); } foreach ($synonyms[2] as $replacement) { $result[] = implode(' ', array_slice($words, 1)) . " $replacement"; } } $c = count($words) - 1; $word = $words[$c]; if (in_array($word, $all_synonyms)) { foreach ($synonyms[1] as $replacement) { $result[] = "$replacement " . implode(' ', array_slice($words, 0, $c)); } foreach ($synonyms[2] as $replacement) { $result[] = implode(' ', array_slice($words, 0, $c)) . " $replacement"; } } return $result; } $words = ['no of', 'autumn', 'sales']; $tot = ['1'=>array('count','total','num of','no of', 'no. of'), '2'=>array('count')]; print_r(swap_words($words, $tot)); $words = ['autumn', 'sales', 'count']; print_r(swap_words($words, $tot));
Output for git.master, git.master_jit, rfc.property-hooks
Array ( [0] => count autumn sales [1] => total autumn sales [2] => num of autumn sales [3] => no of autumn sales [4] => no. of autumn sales [5] => autumn sales count ) Array ( [0] => count autumn sales [1] => total autumn sales [2] => num of autumn sales [3] => no of autumn sales [4] => no. of autumn sales [5] => autumn sales count )

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:
39.14 ms | 406 KiB | 5 Q