0

Estimados tengo que pasar una variable a una funcion que esta dentro de otra, y no encuentro la manera, paso el codigo por si algun experto puede darme una mano.

las variables a pasar son $tipo y $modifica

<?php
function formato() {
  if ($tipo=="unipersonal"){        
    include 'funciones.php';
    consultar1("$modifica");
    consultar2("$modifica");
  }else{
    include 'funciones.php';
    consultar1j("$modifica");
    consultar2("$modifica");
  }
}
?>
alo Malbarez
  • 8,871
  • 2
  • 10
  • 29
  • Bienvenido @Emilio Lopez a Stack Overflow en español, te sugiero que hagas el [recorrido](https://es.stackoverflow.com/tour) y de paso ganes tu primera medalla, también es muy importante que leas [Cómo preguntar](https://es.stackoverflow.com/help/how-to-ask) para poder mejorar tu pregunta y que sea bien recibida por la comunidad, favoreciendo tus chances de obtener buenas respuestas. – HubertRonald Mar 07 '19 at 03:23

1 Answers1

1

Puedes pasar las variables como argumentos a la funcion que engloba el resto de funciones.

Ejemplo, he creado las funciones en el mismo archivo y comentado los include a fin de ejemplificar lo que realiza cada cosa:

<?php
// definimos las funciones
function consultar1($var) {
    echo $var;
}
function consultar2($var) {
    echo $var;
}
function consultar1j($var) {
    echo $var;
}

// la funcion que requiere nuestras 2 variables y ejecuta otras funciones
// en ella definimos los argumentos que necesitamos y le vamos a pasar
function formato($tipo, $modifica) {
  if ($tipo=="unipersonal"){        
    //include 'funciones.php';
    consultar1($modifica);
    consultar2($modifica);
  }else{
    //include 'funciones.php';
    consultar1j($modifica);
    consultar2($modifica);
  }
}

// llamamos a nuestra funcion pasando los argumentos necesarios
formato('tipo', 'modifica');
?>

Como nota, tambien puedes revisar esta pregunta sobre variables globales: ¿Cuál es el uso correcto de las funciones y variables globales?

Respecto de las funciones

Todas las funciones (no confundir con los métodos de una clase) y clases de PHP tienen ámbito global. Se pueden llamar desde fuera de una función incluso si fueron definidas dentro, y viceversa.

Xerif
  • 7,283
  • 3
  • 17
  • 41
  • Estimado Xerif anduvo perfecto el codigo, solo le tuve que poner al llamar la funcion de esta manera formato("$tipo", "$modifica"); muchas gracias por tu pronta respuesta y tu ayuda, fue de gran utilidad – Emilio Lopez Mar 08 '19 at 00:54