Почему, если добавлять элемент и с ним же склеить другой элемент, то получается повторение? PHP: $arr = [ 'African elephant', 'Spotted hyena', 'Snow leopard', ]; foreach($arr as $name){ $parts = explode(' ', $name); $first[] = $parts[0]; $second[] = $parts[1]; } echo '<pre>'; var_dump($first); echo '<pre>'; echo '<pre>'; var_dump($second); echo '<pre>'; echo '<pre>'; var_dump($arr); echo '<pre>'; $new_arr = []; $i = -1; while (count($new_arr) < count($arr)){ $i++; $proverka = $first[rand(0, count($arr)-1)]; if (in_array($proverka . ' ' .$second[$i], $new_arr)) { } else{ array_push($new_arr, $proverka . ' ' .$second[$i]); } echo $i; } var_dump($new_arr);