2012-09-06 20 views
8

Sono abbastanza nuovo per PHP. Ho una funzione che controlla il costo del prezzo. Voglio tornare alla variabile da questa funzione per essere utilizzato a livello globale:PHP Funzione per restituire la stringa

<? 
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 Vorrei che ci fosse un po 'di downvote dei commenti per i fanboy mantra. – TheBlackBenzKid

+0

@TheBlackBenzKid: c'è: segnalazione di segnalazione per l'attenzione del moderatore. Già fatto, andrà via tra un po '. – Jon

+1

@TheBlackBenzKid Basta contrassegnarlo. – Fluffeh

risposta

13

Si dovrebbe semplicemente memorizzare il valore restituito in una variabile:

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

La variabile $deliveryPrice sopra è un diverso variabile di il $deliveryPrice all'interno della funzione. Quest'ultimo non è visibile al di fuori della funzione a causa di variable scope.

+0

Vale anche la pena ricordare che nel confronto si sta verificando con un valore stringa forse? – Fluffeh

+0

@Fluffeh: Eh ... nessuna differenza pratica. Non ne parlerei a un principiante. – Jon

+0

C'è in qualche modo che posso dire '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 risposta ... – prajul

+0

@prajul enna upvote idu –

2

Come alcuni alrady detto, provare a utilizzare le classi per questo.

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; 
    } 
} 

Ora, per utilizzarlo, basta inizializzare la classe e fare quello che ti serve:

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

echo $myClass->getDeliveryPrice(); 
+0

Grazie per l'esempio OOP. – TheBlackBenzKid

Problemi correlati