2010-08-14 21 views
-1

我需要解析一個具有3個s.f.的數字。和2分鐘。 (例如2.34)。前兩個數字(第一個和第二個)然後乘以10.第二個數字保持原樣。因此,對於上面的例子,$ a = 23和$ b = 4。當它不是函數時,我能夠獲得類似於下面的代碼,但我希望能夠將代碼合併到一個函數中。我希望能夠獲得值$ a和$ b的值(如果可能,單獨使用),但我在執行此操作時遇到問題。任何幫助將非常感激。從抓取數字的函數獲取輸出

$z = 1.63; 
function getcoordinates($conv) { 
$z = number_format($conv, 2); 
$z = (string)$z; 
$a = substr($z,0,3)*10; 
$b = substr($z,3,1); 
$a = settype($a, "float"); 
$b = settype($b, "float"); 
return $a; 
return $b; 
} 
+0

功能無法返回2分的結果。 – pltvs 2010-08-14 20:25:41

回答

2

的價值,爲什麼你就不能計算值你所描述的方法是什麼?

function getCoordinates($input) { 
    $a = floor($input * 10) % 100; 
    $b = floor($input * 100) % 10; 
    return array($a, $b); 
} 

如此處所示,您可以使用array()來返回多個值。當你通話的功能,你可以使用list()把值到不同的變量:

list($a, $b) = getCoordinates(2.34); 
echo "$a, $b\n"; // prints 「23, 4」 
+0

謝謝 - 更優雅的功能也。 – 2010-08-14 20:35:19

0

返回數組。

return array($a, $b); 

,並在電話會議上的網站,收到

list($a, $b) = getcoordinates(...); 
0
function getcoordinates($conv) { 
    /* your code */ 
    return array($a,$b); 
}