2017-01-15 12 views
0

私は、単位をフィートまたはインチに条件付きで変換して表示する簡単な関数を持っています。私はまた、条件付きで実際のテキストftまたはinを最後に追加するために使用したいと思います。私は36 in x 24 in x 10 inで終わるだろうから、あなたが望むものが36x24x10 inになるので、すべての場合にそのテキストを追加することはできません。 PHP関数「第2パラメータが指定されている場合」

だから基本的に私はこれをやろうとしている:
function ex($x, $y) { 
    if only $x is specified { 
     if ($x < 50) { 
      return $x/25.4 
     } 
     else { 
      return $x/304.8 
     } 
    } 
    elseif $x and $y are both specified { 
     if ($x < 50) { 
      return ' in'; 
     } 
     else { 
      return ' ft'; 
     } 
    } 
} 

echo ex($NumberToConvert).'x'.ex($OtherNumberToConvert).example($NumberIWantToConvert,1); 

しかし、「不足している引数2」の警告になりもちろん

。明白なハックは、 if ($y > 0)を常に使用することです。は2つの引数を指定する必要があります(数値出力を探すときは後者を0にし、テキストを探しているときは1にします)。しかし、よりエレガントなものがありますか?

(はい、私は両方の番号が< 50ではないか、どちらもある場合にのみ意味があります知っている)

+0

'function ex($ x、$ y = ''){' – nogad

答えて

1

funcitonのdefault argument valuesを利用します。だからあなたのex機能は次のようにする必要があります:

function ex($x = null, $y = null) { 
    if($x != null && $y == null){ 
     if ($x < 50) { 
      return $x/25.4 
     }else{ 
      return $x/304.8 
     } 
    }elseif($x != null && $y != null){ 
     if ($x < 50) { 
      return ' in'; 
     }else{ 
      return ' ft'; 
     } 
    } 
} 

は、関数内の$x$yの両方のためのnullとしてデフォルトの引数を取り、それに応じて関数内でこれらの変数を処理します。

関連する問題