Por qué pierde el valor mi variable php?



   AUTOR PREGUNTA

Publicado 21 marzo 2014 - 22:10

Tengo un problema con un codigo php tengo una variable que quiero referenciar en un funcion pero no me la reconoce y pierde el valor no entiendo porque. el codigo es

$mivar=100;
function calculos($coeficiente) {
$calculovalor=$mivar*$coeficiente;
..
..
}

Donde $mivar pierde el valor o no lo toma


¿Tienes la misma pregunta? Yo también

 

Publicado 21 marzo 2014 - 22:14

El problema es que no puedes pasar un parametro o una variable asi directamente debido a que la funcion es un metodo independiente dentro del codigo y no parte del mismo codigo.
Para poder ahcer esto tienes dos opciones
Lo envias como parametro:

    $mivar=100;
    function calculos($mivar, $coeficiente) {
    $calculovalor=$mivar*$coeficiente;
    ..
    ..
    }

Lo referencias en forma global


$mivar=100;
    function calculos($coeficiente) {
     global $mivar;
    $calculovalor=$mivar*$coeficiente;
    ..
    ..
    }

Obviamente la mejor solución es la primera para evitar variables globales que están disponibles para cualquier método dentro del código.

   AUTOR PREGUNTA

Publicado 21 marzo 2014 - 22:15

Tienes razon al trabajar con objetos es mejor no utilizar variables globales he leido algo mas sobre el tema es interesante