2012-09-06 14 views
8

Jestem całkiem nowy w PHP. Mam funkcję, która sprawdza koszt ceny. Chcę zwrócić zmienną z tej funkcji, aby być stosowany globalnie:Funkcja PHP do zwracania ciągu znaków

<? 
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 Szkoda, że ​​nie było pewne downvote na komentarze dla fanboy mantry. – TheBlackBenzKid

+0

@TheBlackBenzKid: Istnieje: zgłaszanie komentarzy dla uwagi moderatora. Już to zrobiło, zniknie za chwilę. – Jon

+1

@ TheBlackBenzKid Wystarczy go zgłosić. – Fluffeh

Odpowiedz

13

Należy po prostu przechowywać zwracanej wartości w zmiennej:

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

$deliveryPrice zmienna powyżej jest inny zmienna niż $deliveryPrice wewnątrz funkcji. Ten ostatni nie jest widoczny poza funkcją z powodu variable scope.

+0

Warto również wspomnieć, że w porównaniu jest sprawdzane pod względem wartości ciągu znaków? – Fluffeh

+0

@Fluffeh: Eh ... brak praktycznych różnic. Nie wspomniałbym o tym początkującym. – Jon

+0

Czy mogę w jakiś sposób powiedzieć '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 answer ... – prajul

+0

@prajul enna upvote idu –

2

Jak niektórzy alrady powiedział, spróbuj użyć do tego zajęcia.

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

Teraz, aby go używać, tylko zainicjować klasę i zrobić co trzeba:

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

echo $myClass->getDeliveryPrice(); 
+0

Dzięki za przykład OOP. – TheBlackBenzKid

Powiązane problemy