Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/03/2011, 13:31
Avatar de Gambinoh
Gambinoh
 
Fecha de Ingreso: diciembre-2010
Mensajes: 348
Antigüedad: 13 años, 5 meses
Puntos: 11
Teoría: ámbitos local y global

Tengo algunas dudas al respecto de los ámbitos global y local.

Por ejemplo, para este código:

Código PHP:
Ver original
  1. <?php
  2. $captura = 0;
  3. if(isset($_GET['parametro'])){
  4. $captura = mysql_real_escape_string($_GET['parametro']);
  5. }
  6.  
  7. $multiplicacion = $captura * 2;
  8. ?>

En el código anterior, supongamos que el parámetro pasado sea un integer, entonces si existe $_GET['parametro'], entonces la condición de la estructura de control if es true y $captura cobra el valor del parámetro enviado. Luego, fuera de la estructura de control, la variable $captura recibe el nuevo valor de if, que puede ser distinto que 0.

En las funciones, las variables declaradas entre llaves, se consideran de ámbito local... ¿Con la estructura de control if, se considera también lo que está entre llaves de ámbito local?

¿Se considera a las estructuras de control if (if, if-else, if-elseif, if-elseif-else...), switch (switch-case-default...) y a los bucles while (while, do-while) y for como si fueran al mismo tiempo funciones predefinidas?

Si tengo por ejemplo este otro código:

Código PHP:
Ver original
  1. <?php
  2. $captura = 0;
  3. if(isset($_GET['parametro'])){
  4. $captura = mysql_real_escape_string($_GET['parametro']);
  5. }
  6.  
  7. if($captura != 0){
  8. echo $captura;
  9. }
  10. ?>

¿Se considera que la variable $captura pasa del ámbito local del primer if al ámbito local del segundo? En un caso en que no se pueda pasar una variable de una función a otra función, ¿cómo se usaría la palabra reservada "global"?