2012-09-06 42 views
8

Tôi khá mới đối với PHP. Tôi có một chức năng kiểm tra giá thành. Tôi muốn quay trở lại biến từ chức năng này sẽ được sử dụng trên toàn cầu:PHP Chức năng trả về chuỗi

<? 
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 Tôi muốn có một số downvote trên cảm nhận cho fanboy thần chú. – TheBlackBenzKid

+0

@TheBlackBenzKid: Có: gắn cờ nhận xét cho người điều hành chú ý. Đã làm như vậy, sẽ biến mất trong một thời gian ngắn. – Jon

+1

@TheBlackBenzKid Chỉ cần gắn cờ. – Fluffeh

Trả lời

13

Bạn chỉ nên lưu trữ các giá trị trả về trong một biến:

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

Các $deliveryPrice biến trên là một khác nhau biến hơn $deliveryPrice bên trong hàm. Dữ liệu sau không hiển thị bên ngoài hàm do variable scope.

+0

Cũng đáng nói rằng trong so sánh nó đang được kiểm tra đối với một giá trị chuỗi có lẽ? – Fluffeh

+0

@Fluffeh: Eh ... không có sự khác biệt thực tế. Tôi sẽ không đề cập đến một người mới bắt đầu. – Jon

+0

Có cách nào tôi có thể nói '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

Theo một số alrady nói, hãy thử sử dụng các lớp học cho việc này.

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

Bây giờ, để sử dụng nó, chỉ cần khởi tạo các lớp và làm những gì bạn cần:

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

echo $myClass->getDeliveryPrice(); 
+0

Cảm ơn ví dụ về OOP. – TheBlackBenzKid

Các vấn đề liên quan