Avatar ·

¿Cómo funciona realmente foreach en PHP? Entendiendo la copia y las referencias

¡Hola a todos! Empecé a estudiar PHP y me encontré con un comportamiento muy extraño del bucle `foreach`. Escribí un código simple, pero los resultados me confundieron. ```php 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) // ¡Esperaba que todos los valores se duplicaran! ``` Pensé que `$value` era una referencia al elemento del array, pero resultó que es una copia. Bien, entonces probé usando `&`: ```php 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 ) — ¡funciona! ``` Pero luego leí que hacer esto es peligroso, porque `$value` sigue siendo una referencia al último elemento después del bucle. Y también escuché sobre los "punteros internos del array" y que `foreach` no funciona tan simple como parece. ¿Alguien podría explicar cómo `foreach` maneja l