Este será un poquito largo
Código PHP:
<?php
$numeros = range(1, 10);
$numeros = array_combine($numeros, $numeros);
extract($numeros, EXTR_PREFIX_INVALID, 'numero');
/*
Hasta este punto tenemos las variables $numero_1 = 1;
$numero_2 = 2; $numero_3 = 3; .... ; $numero_6 = 6.
Serán referidas como "variables N"
*/
/* Función para eliminar las variables N */
$eliminar = function ($numero) {
global ${"numero_$numero"};
unset(${"numero_$numero"});
};
/*
Recorremos el array y eliminamos (mediante la función
variable $eliminar) aquellas variables N que se crearon
a partir de los números PARES
*/
array_map(
create_function('$numero', '
if($numero % 2 == 0) {
global $eliminar;
$eliminar($numero);
}
'),
$numeros
);
/*
Verificamos que se hayan eliminado las variables N pares.
Para ello recorremos el array y verificamos la existencia de
la variable N correspondiente a cada elemento del array.
*/
foreach($numeros as $indice => $numero):
if(isset(${"numero_$indice"})) {
echo "La variable \$numero_$indice existe y su valor es " . ${"numero_$indice"} . "\n";
} else {
echo "La variable \$numero_$indice NO existe\n";
}
endforeach;
Resultado esperado:
Código:
La variable $numero_0 NO existe
La variable $numero_1 existe y su valor es 1
La variable $numero_2 NO existe
La variable $numero_3 existe y su valor es 3
La variable $numero_4 NO existe
La variable $numero_5 existe y su valor es 5
La variable $numero_6 NO existe
Resultado obtenido:
Código:
La variable $numero_0 existe y su valor es 0
La variable $numero_1 existe y su valor es 1
La variable $numero_2 existe y su valor es 2
La variable $numero_3 existe y su valor es 3
La variable $numero_4 existe y su valor es 4
La variable $numero_5 existe y su valor es 5
La variable $numero_6 existe y su valor es 6
¿Qué salió mal?