Stel ik wil een gehusselde array opslaan:

$array = [1,2,3];

$nieuwe_array = shuffle($array);

Waarom kan ik dat niet opslaan in een nieuwe array?
Zo?

<?php

$array = [1,2,3];

shuffle($array);

$nieuwe_array = $array;

?>
Daarmee is de nieuwe array wel identiek aan de gewijzigde oude array en verspil je slechts geheugen. Bovendien gaat de begintoestand of input verloren, wat niet altijd gewenst is.

Je kunt de twee operaties daarom waarschijnlijk beter omkeren:


<?php
$array = [1,2,3];
$nieuwe_array = $array;
shuffle($nieuwe_array);
?>
En als je uitsluitend de geshuffelde array nodig hebt, dan heb je geen nieuwe array nodig. Dan is zoiets als dit voldoende:

<?php

$result = [1,2,3];
shuffle($result);

// doet iets met het geshuffelde resultaat

?>

Reageren