我需要解析一个有3秒的数字。和2 d.p. (例如2.34)。然后将前两个数字(第1和第2个s.f.)乘以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)
为什么你不能按照你描述的方式计算价值?
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”
答案 1 :(得分:0)
返回一个数组。
return array($a, $b);
并且,在呼叫站点上,使用
接收值list($a, $b) = getcoordinates(...);
答案 2 :(得分:0)
function getcoordinates($conv) {
/* your code */
return array($a,$b);
}