2010-08-14 20 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); 
}