2017-07-19 75 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

腓的任務 –

+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函數必須帶一個參數($ 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。