3v4l.org

run code in 300+ PHP versions simultaneously
<?php function shuffleX($arr, $max=3){ $raw=$arr; $x=0; $s=md5('random_string'); while(1){$x++; shuffle($arr); //Build string out of Arr for repeating variables to check $f2=join($s,$arr); $break=true; foreach($raw as $k=>$v){ //Check for repeating variables each Value (forward and Backward) $f=str_repeat($v.$s,$max); $fa=str_repeat($s.$v.'',$max); if(preg_match('#'.$f.'#',$f2) OR preg_match('#'.$fa.'#',$f2)){ $break=false; } } if($break===true){return $arr;} if($x>(count($arr)*1000)){// if nothing found after x Times break or give an empty array return array('unpossible'); } } } $arr=array(1,2,1,1,2,2,1,2,1,2,1); print_r(shuffleX($arr,3)); ?>
Output for 7.2.13, 7.4.3
Array ( [0] => 1 [1] => 2 [2] => 2 [3] => 1 [4] => 2 [5] => 1 [6] => 2 [7] => 1 [8] => 1 [9] => 2 [10] => 1 )
Output for 7.4.2
Array ( [0] => 2 [1] => 1 [2] => 1 [3] => 2 [4] => 2 [5] => 1 [6] => 1 [7] => 2 [8] => 2 [9] => 1 [10] => 1 )
Output for 7.4.1
Array ( [0] => 2 [1] => 1 [2] => 1 [3] => 2 [4] => 2 [5] => 1 [6] => 2 [7] => 1 [8] => 2 [9] => 1 [10] => 1 )
Output for 7.4.0
Array ( [0] => 2 [1] => 1 [2] => 2 [3] => 1 [4] => 2 [5] => 1 [6] => 1 [7] => 2 [8] => 1 [9] => 2 [10] => 1 )
Output for 7.2.12, 7.3.15
Array ( [0] => 2 [1] => 2 [2] => 1 [3] => 1 [4] => 2 [5] => 1 [6] => 1 [7] => 2 [8] => 1 [9] => 1 [10] => 2 )
Output for 7.3.14
Array ( [0] => 2 [1] => 1 [2] => 1 [3] => 2 [4] => 1 [5] => 1 [6] => 2 [7] => 1 [8] => 1 [9] => 2 [10] => 2 )
Output for 7.3.13
Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 2 [4] => 1 [5] => 2 [6] => 1 [7] => 1 [8] => 2 [9] => 2 [10] => 1 )
Output for 7.3.12
Array ( [0] => 1 [1] => 1 [2] => 2 [3] => 2 [4] => 1 [5] => 1 [6] => 2 [7] => 2 [8] => 1 [9] => 2 [10] => 1 )
Output for 7.3.11
Array ( [0] => 2 [1] => 1 [2] => 1 [3] => 2 [4] => 1 [5] => 1 [6] => 2 [7] => 1 [8] => 2 [9] => 2 [10] => 1 )
Output for 7.3.8, 7.3.10
Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 2 [4] => 1 [5] => 1 [6] => 2 [7] => 1 [8] => 2 [9] => 2 [10] => 1 )
Output for 7.3.9
Array ( [0] => 2 [1] => 2 [2] => 1 [3] => 1 [4] => 2 [5] => 1 [6] => 1 [7] => 2 [8] => 2 [9] => 1 [10] => 1 )
Output for 7.3.7
Array ( [0] => 2 [1] => 1 [2] => 2 [3] => 2 [4] => 1 [5] => 1 [6] => 2 [7] => 1 [8] => 1 [9] => 2 [10] => 1 )
Output for 7.2.19, 7.3.6
Array ( [0] => 2 [1] => 1 [2] => 2 [3] => 1 [4] => 2 [5] => 1 [6] => 1 [7] => 2 [8] => 2 [9] => 1 [10] => 1 )
Output for 7.2.20, 7.3.5
Array ( [0] => 1 [1] => 1 [2] => 2 [3] => 1 [4] => 2 [5] => 1 [6] => 2 [7] => 1 [8] => 1 [9] => 2 [10] => 2 )
Output for 7.3.4
Array ( [0] => 1 [1] => 2 [2] => 2 [3] => 1 [4] => 1 [5] => 2 [6] => 1 [7] => 2 [8] => 1 [9] => 1 [10] => 2 )
Output for 7.3.3
Array ( [0] => 2 [1] => 1 [2] => 2 [3] => 1 [4] => 2 [5] => 1 [6] => 2 [7] => 1 [8] => 2 [9] => 1 [10] => 1 )
Output for 7.2.18, 7.3.2
Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 1 [4] => 2 [5] => 1 [6] => 2 [7] => 1 [8] => 2 [9] => 2 [10] => 1 )
Output for 7.2.5, 7.3.1
Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 1 [4] => 2 [5] => 1 [6] => 2 [7] => 1 [8] => 1 [9] => 2 [10] => 2 )
Output for 7.3.0
Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 2 [4] => 1 [5] => 2 [6] => 1 [7] => 1 [8] => 2 [9] => 1 [10] => 2 )
Output for 7.2.28
Array ( [0] => 1 [1] => 2 [2] => 2 [3] => 1 [4] => 2 [5] => 2 [6] => 1 [7] => 1 [8] => 2 [9] => 1 [10] => 1 )
Output for 7.2.16, 7.2.27
Array ( [0] => 1 [1] => 1 [2] => 2 [3] => 1 [4] => 2 [5] => 1 [6] => 2 [7] => 1 [8] => 2 [9] => 1 [10] => 2 )
Output for 7.2.26
Array ( [0] => 2 [1] => 1 [2] => 2 [3] => 1 [4] => 1 [5] => 2 [6] => 1 [7] => 2 [8] => 1 [9] => 2 [10] => 1 )
Output for 7.2.25
Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 2 [4] => 1 [5] => 1 [6] => 2 [7] => 2 [8] => 1 [9] => 2 [10] => 1 )
Output for 7.2.24
Array ( [0] => 2 [1] => 1 [2] => 1 [3] => 2 [4] => 1 [5] => 2 [6] => 2 [7] => 1 [8] => 2 [9] => 1 [10] => 1 )
Output for 7.2.23
Array ( [0] => 2 [1] => 2 [2] => 1 [3] => 1 [4] => 2 [5] => 1 [6] => 2 [7] => 1 [8] => 1 [9] => 2 [10] => 1 )
Output for 7.2.22
Array ( [0] => 1 [1] => 1 [2] => 2 [3] => 1 [4] => 2 [5] => 2 [6] => 1 [7] => 1 [8] => 2 [9] => 2 [10] => 1 )
Output for 7.2.21
Array ( [0] => 1 [1] => 2 [2] => 2 [3] => 1 [4] => 1 [5] => 2 [6] => 1 [7] => 2 [8] => 2 [9] => 1 [10] => 1 )
Output for 7.2.17
Array ( [0] => 1 [1] => 1 [2] => 2 [3] => 1 [4] => 2 [5] => 1 [6] => 1 [7] => 2 [8] => 1 [9] => 2 [10] => 2 )
Output for 7.2.15
Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 1 [4] => 2 [5] => 1 [6] => 2 [7] => 2 [8] => 1 [9] => 1 [10] => 2 )
Output for 7.2.14
Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 2 [4] => 2 [5] => 1 [6] => 1 [7] => 2 [8] => 1 [9] => 1 [10] => 2 )
Output for 7.2.11
Array ( [0] => 2 [1] => 2 [2] => 1 [3] => 1 [4] => 2 [5] => 2 [6] => 1 [7] => 1 [8] => 2 [9] => 1 [10] => 1 )
Output for 7.2.10
Array ( [0] => 2 [1] => 1 [2] => 1 [3] => 2 [4] => 1 [5] => 2 [6] => 1 [7] => 2 [8] => 1 [9] => 1 [10] => 2 )
Output for 7.2.9
Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 1 [4] => 2 [5] => 2 [6] => 1 [7] => 2 [8] => 1 [9] => 1 [10] => 2 )
Output for 7.2.8
Array ( [0] => 1 [1] => 1 [2] => 2 [3] => 2 [4] => 1 [5] => 2 [6] => 1 [7] => 1 [8] => 2 [9] => 1 [10] => 2 )
Output for 7.2.7
Array ( [0] => 1 [1] => 2 [2] => 2 [3] => 1 [4] => 2 [5] => 1 [6] => 1 [7] => 2 [8] => 2 [9] => 1 [10] => 1 )
Output for 7.2.6
Array ( [0] => 2 [1] => 1 [2] => 2 [3] => 1 [4] => 1 [5] => 2 [6] => 2 [7] => 1 [8] => 1 [9] => 2 [10] => 1 )
Output for 7.2.4
Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 1 [4] => 2 [5] => 1 [6] => 1 [7] => 2 [8] => 1 [9] => 2 [10] => 2 )
Output for 7.2.3
Array ( [0] => 2 [1] => 1 [2] => 1 [3] => 2 [4] => 1 [5] => 2 [6] => 1 [7] => 1 [8] => 2 [9] => 2 [10] => 1 )
Output for 7.2.2
Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 2 [4] => 1 [5] => 2 [6] => 1 [7] => 2 [8] => 2 [9] => 1 [10] => 1 )
Output for 7.2.1
Array ( [0] => 1 [1] => 1 [2] => 2 [3] => 1 [4] => 2 [5] => 1 [6] => 1 [7] => 2 [8] => 2 [9] => 1 [10] => 2 )
Output for 7.2.0
Array ( [0] => 1 [1] => 2 [2] => 1 [3] => 1 [4] => 2 [5] => 1 [6] => 2 [7] => 1 [8] => 2 [9] => 1 [10] => 2 )

preferences:
56.16 ms | 466 KiB | 5 Q