2012-09-06 22 views
8

私はかなり新しいPHPです。私は価格のコストをチェックする機能を持っています。PHP文字列を返す関数

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

上記$deliveryPrice変数が異なる変数よりは、次のとおりです。

<? 
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 @私はおたくのマントラのコメントにいくつかのdownvoteがあったことを望みます。 – TheBlackBenzKid

+0

@TheBlackBenzKid:司会者の注意を喚起するコメントがあります。すでにそうしていて、ちょっと消えてしまいます。 – Jon

+1

@TheBlackBenzKidただそれにフラグを立てる。 – Fluffeh

答えて

13

あなたは、単に変数に戻り値を格納する必要があります:私は、世界的に使用されるように、この関数から変数を返すようにしたいです関数内の$deliveryPrice。後者はvariable scopeのために関数の外には見えません。

+0

また、比較ではおそらく文字列値に対してチェックされていることに言及する価値はありますか? – Fluffeh

+0

@Fluffeh:Eh ...実用的な違いはありません。初心者には言及しません。 – Jon

+0

何とか '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

ナラ答え... – prajul

+0

@prajul enna upvote idu –

2

一部alradyは、このためのクラスを使用してみてください、言ったように。

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

、単にクラスを初期化し、あなたが必要なものをやる、それを使用する:

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

echo $myClass->getDeliveryPrice(); 
+0

OOPの例をありがとう。 – TheBlackBenzKid

関連する問題