3v4l.org

run code in 500+ PHP versions simultaneously
<?php $str = 'This is just a test {#3,2,7,9} this is another test {#21,2,11}'; echo preg_replace_callback('/{[#]([\w,]{1,})}/', function ($match) { $numbers = explode(',', $match[1]); shuffle($numbers); return isset($numbers[0]) ? $numbers[0] : '{#'.$match[0].'}'; }, $str);
Output for 7.4.0, 8.0.3, 8.1.1
This is just a test 7 this is another test 21
Output for 7.4.22, 8.1.0
This is just a test 3 this is another test 11
Output for 7.4.12, 7.4.25, 7.4.27, 8.0.14
This is just a test 2 this is another test 11
Output for 7.4.2, 7.4.11, 7.4.16, 7.4.23, 8.0.11, 8.0.13
This is just a test 2 this is another test 2
Output for 7.4.3 - 7.4.4, 7.4.7 - 7.4.8, 7.4.13, 7.4.15, 8.0.12
This is just a test 7 this is another test 11
Output for 7.4.1, 7.4.19, 8.0.10
This is just a test 2 this is another test 21
Output for 7.4.6, 7.4.14, 7.4.21, 8.0.8 - 8.0.9
This is just a test 9 this is another test 21
Output for 7.4.26, 8.0.7
This is just a test 9 this is another test 11
Output for 8.0.6
This is just a test 7 this is another test 2
Output for 7.4.10, 7.4.20, 8.0.5
This is just a test 3 this is another test 2
Output for 7.4.5, 7.4.9, 7.4.18, 7.4.24, 8.0.2
This is just a test 3 this is another test 21
Output for 8.0.1
This is just a test 9 this is another test 2

preferences:
48.87 ms | 649 KiB | 4 Q