entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

¿Cómo obtener el valor de una variable PHP dentro de dos IF anidados?

Hola como están, espero me puedan ayudar con un inconveniente que tengo al obtener el valor de una variable.

Necesito rescatar el valor de una variable que está dentro de un if anidado.

Nota: El código funciona en cada una de sus secciones, es decir arroja los valores esperados, recuerdo que lo único que no logro es acceder al valor de la variable $custom_id fuera del IF , este valor lo necesito en otra parte del código.
Ya probe con los ambitos de las variables $_SESSION, global, $GLOBALS y la variable declarada fuera de los if, pero no funciona.
Recalco: No se fijen en el funcionamiento del código como tal, porque si funciona, solo me falta es acceder al valor de la variable $custom_id desde cualquier parte del código.

$customer_id='0';
if (servicio_recibido("SelecServicio")) { // llamado a funcion, si se recibe el parametro correcto la funcion devuelve true (esto funciona OK)

    $servicio = obtener_variables()['servicio']; // llamado a funcion, si se recibe el valor de una variable se le asigna el valor a $servicio (esto funciona OK)

    if ($servicio == "Hotel") { // se compara el valor de $servicio con uno valor (esto funciona OK)

        $customer_id ='7'; // si el valor de $servicio es Hotel, se le asigna a $customer_id el valor 7 (esto funciona OK)

        echo ("$servicio  $customer_id  ¿En qué ciudad te encuentras, ciudad X, ciudad Y , ciudad Z ?");// esto comprueba el valor de $servicio y $customer_id ( Funciona OK)

                        }elseif ($servicio == "Restaurante") { // se compara el valor de $servicio con uno valor (esto funciona OK)

                             $customer_id ='8';// si el valor de $servicio es Restaurante, se le asigna a $customer_id el valor 8 (esto funciona OK)

                             echo ("$servicio  $customer_id  ¿En qué ciudad te encuentras, ciudad X, ciudad Y , ciudad Z ?");// esto comprueba el valor de $servicio y $customer_id ( Funciona OK)

                         } else {

                                  echo("Por favor selecciona un servicio Hotel ó Restaurante ");
                         }

1voto

jj19958 comentado

cual es el error que tienes.
que valor arroja cuando lo pones en var_dump($customer_id);

1voto

bill comentado

Hola, gracias por responder.
cual es el error que tienes. No obtengo el valor de la variable customer_id, cuando le hago la asignación dentro del if.

que valor arroja cuando lo pones en var_dump($customer_id);, Si la aplico fuera del if me arroja el valor de la variable fuera del if, si la aplico dentro del if me arroja el valor asignado dentro del if, ejemplo, Al llamar var_dump($customer_id); desde cualquier lugar del codigo fuera del if, me arroja el valor que le asigne antes del if, $customer_id='0';
if (servicio_recibido("SelecServicio")) {

Si aplico var_dump($customer_id); dentro del if, me arroja 7 u 8 dependiendo el servicio asignado si es Hotel o Restaurante.
Lo que necesito es obtener ese valor 7 u 8 fuera del if.

0voto

jj19958 comentado

trata de quitar donde declaras $customer_id='0';

0voto

bill comentado

Cuando hago eso, obtengo un valor vacío.

1 Respuesta

1voto

mchojrin Puntos2630

Yo te recomendaría re-estructurar tu código. Por lo que se ve, hay un mapeo claro entre $servicio y $customer_id.

¿Por qué no incorporas el $customer_id al array que te retorna obtener_variables()['servicio']?

De esa forma te ahorrarás muchos if...

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta