1

我使用了显示错误的代码:即,如果我的仪表是 175m,但是当我转换它并没有显示那个东西

<?php
function metersToFeetInches($meters, $echo = true)
{
    $m = $meters;
    $valInFeet = $m*3.2808399;
    $valFeet = (int)$valInFeet;
    $valInches = round(($valInFeet-$valFeet)*12);
    $data = $valFeet."&prime;".$valInches."&Prime;";
    if($echo == true)
    {
            echo $data;
    } else {
            return $data;
    }
}
?>
<?php
$feetInches = metersToFeetInches(1.75,false);
echo $feetInches;
?>
4

2 回答 2

4

这是您可以在Google上轻松找到的内容之一,但我猜您没有比第一个链接看得更远。

无论如何,你应该这样做。

<?php

function metersToFeet($meters) {
    return floatval($meters) * 3.2808399;
}

?>

但是为什么这比您发布的代码更好?好吧,函数不应该做所有事情。您应该为某个动作编写一个函数,而不是一个包含您可能需要的一切的大函数。因为如果你需要向那个函数添加一些东西或者改变动作的顺序,那就是大量的工作。

此外,您的函数有一个选项$echo。但是你为什么需要那个?您可以为每个函数添加这样一个选项,但是 PHP 有一个很好的命令:echo. 所以相反,写echo metersToFeet(10). 或者$value = metersToFeet(10),如果您需要将结果保存在变量中。

于 2012-08-20T20:35:10.090 回答
2
<?php
function metersToFeetInches($meters, $echo = true)
{
    $m = $meters;
    $valInFeet = $m*3.2808399;
    $valFeet = (int)$valInFeet;
    $valInches = round(($valInFeet-$valFeet)*12);
    $data = $valFeet."&prime;".$valInches."&Prime;";
    if($echo == true)
    {
        echo $data;
    } else {
        return $data;
    }
}
?>
于 2017-07-05T08:02:36.913 回答