Me encuentro trabajando con PHP
, pero como vengo de trabajar con C#
(lenguajes muy distintos). Y como saben, C#
es muy estricto a la hora de declarar variables.
Mi cuestión es la siguente: Tengo un bucle foreach
que recorre un array en php
, por ejemplo:
foreach($array as $i => $item){
$nueva_variable = $item["key"];
}
echo $nueva_variable;
En este caso, según mi lógica en C#
, no podría imprimir la variable $nueva_variable
ya que solo puede ser usada dentro del bloque en donde se creó.
Pero en php
al parecer no tiene problema por eso, y puede imprimir el valor de la variable
incluso si se llama fuera del bloque de donde fue creada.
Por lo tanto eso es lo que aún no termino de entender, el porqué de ese comportamiento, no se me ocurre alguna explicación. Yo creía que por lógica todos los lenguajes aplicaban la misma "regla" con la que c#
, java
, etc, trabajan.