2017-07-19 3 views
-1

異なる変数に対してif/elseコードを複数回使用する方法はありますか?これは単なる例に過ぎません。私はそれを検索する方法がわからないか、存在していても存在するからです。誰かが私を正しい方向に向けることができますか?複数の使用のためのphp関数

function value(){ 
if ($value > 999 && $value <= 999999) { 
    $value = number_format($value/1000,1) . 'K'; 
    } elseif ($value > 999999) { 
    $value = number_format($value/1000000,1) . 'mln'; 
    } else { 
    $value; 
    } 
} 

    value($variable1); 
    value($variable2); 
    value($variable3); 
+0

PHPはタスク –

+1

用スイッチ機能を提供するが、この機能の仕事をしていますか? –

+2

関数の宣言で呼び出し引数を定義する必要があります。それが機能の全ポイントです。 – arkascha

答えて

3

関数の宣言で呼び出し引数(パラメータ)を定義する必要があります。それは、機能の全体のポイントです:

<?php 
function formatValue($value){ 
if ($value > 999 && $value <= 999999) { 
    return number_format($value/1000,1) . 'K'; 
    } elseif ($value > 999999) { 
    return number_format($value/1000000,1) . 'mln'; 
    } else { 
    return $value; 
    } 
} 

$someValue = 8888; 
var_dump(formatValue($someValue)); 
var_dump(formatValue(555555555)); 
var_dump(formatValue((2*$someValue)+1000000)); 
var_dump(formatValue(-200)); 

上記のコードの出力は、次のとおりです。あなたが期待するよう

string(4) "8.9K" 
string(8) "555.6mln" 
string(6) "1.0mln" 
int(-200) 
+0

ありがとうございます!それはうまく動作します! – Damenace

0

value関数は1つのパラメータ($ value)を取る必要があります。

あなたの関数は、あなたがそれに何かを割り当てるので、参考に$値を渡すために持っていて、関数の外にそれを取得したい

function value(&$value){ 
     if ($value > 999 && $value <= 999999) { 
      $value = number_format($value/1000,1) . 'K'; 
     } elseif ($value > 999999) { 
      $value = number_format($value/1000000,1) . 'mln'; 
     } else { 
      $value; 
     } 
} 

でなければなりません。

number_format($ value/1000,1)を返すこともできます。 'K';それを$ valueに代入するのではなく。

関連する問題