2012-09-06 9 views
8

Soy bastante nuevo en PHP. Tengo una función que verifica el costo del precio. Quiero volver la variable de esta función que se utilizará en todo el mundo:PHP Función para devolver la cadena

<? 
function getDeliveryPrice($qew){ 
    if ($qew=="1"){ 
     $deliveryPrice="60"; 
    } else { 
     $deliveryPrice="20"; 
    } 
    return $deliveryPrice;       
} 
// Assuming these two next lines are on external pages.. 
getDeliveryPrice(12); 
echo $deliveryPrice; // It should return 20 

?> 
+0

@ M1th Me gustaría que hubiera alguna downvote en los comentarios acerca del Mantra fanboy. – TheBlackBenzKid

+0

@TheBlackBenzKid: Hay: comentarios marcados para la atención del moderador. Ya lo hizo, desaparecerá en un momento. – Jon

+1

@TheBlackBenzKid Solo márcalo. – Fluffeh

Respuesta

13

Simplemente debe almacenar el valor devuelto en una variable:

$deliveryPrice = getDeliveryPrice(12); 
echo $deliveryPrice; // will print 20 

La variable $deliveryPrice anterior es una diferente variables de el $deliveryPrice dentro de la función. Este último no es visible fuera de la función debido a variable scope.

+0

¿Vale la pena mencionar también que en la comparación se compara con un valor de cadena? – Fluffeh

+0

@Fluffeh: Eh ... no hay diferencia práctica. No lo mencionaría a un principiante. – Jon

+0

¿De alguna manera puedo decir 'returnAsGlobal $ deliveryPrice;' – TheBlackBenzKid

3
<? 
function getDeliveryPrice($qew){ 
    if ($qew=="1"){ 
     $deliveryPrice="60"; 
    } else { 
     $deliveryPrice="20"; 
    } 
    return $deliveryPrice;       
} 

$price = getDeliveryPrice(12); 
echo $price; 

?> 
2
<?php 
function getDeliveryPrice($qew){ 
    global $deliveryPrice; 
    if ($qew=="1"){ 
     $deliveryPrice="60"; 
    } else { 
     $deliveryPrice="20"; 
    } 
    //return $deliveryPrice;       
} 
// Assuming these two next lines are on external pages.. 
getDeliveryPrice(12); 
echo $deliveryPrice; // It should return 20 

?> 
+0

nalla respuesta ... – prajul

+0

@prajul enna upvote idu –

2

Como algunos dijeron alrady, trate de usar las clases para esto.

class myClass 
{ 
    private $delivery_price; 

    public function setDeliveryPrice($qew = 0) 
    { 
     if ($qew == "1") { 
      $this->delivery_price = "60"; 
     } else { 
      $this->delivery_price = "20"; 
     } 
    } 

    public function getDeliveryPrice() 
    { 
     return $this->delivery_price; 
    } 
} 

Ahora, para usarlo, simplemente inicializar la clase y hacer lo que necesita:

$myClass = new myClass(); 
$myClass->setDeliveryPrice(1); 

echo $myClass->getDeliveryPrice(); 
+0

Gracias por ejemplo OOP. – TheBlackBenzKid

Cuestiones relacionadas