在每个变量中获取相同的变量但具有不同的值

时间:2017-05-23 13:06:29

标签: php function variables

HTML中的

我有:

<?php $mysqli = connectDB(); ?>

<tr>
        <td class='inaltime'>1845</td>
        <td>
        <?php $length = 2000; $height = 1845; include_once 
"calculator/calculator.php"; ?>
        <?= getPrice($pretTransportPierderi); ?> 
</td>
        <td><?php $length = 2100; $height = 1845; include_once 
"calculator/calculator.php"; ?>
        <?= getPrice($pretTransportPierderi); ?> </td>
        <td><?php $length = 2200; $height = 1845; include_once 
"calculator/calculator.php"; ?>
        <?= getPrice($pretTransportPierderi); ?> </td>
    </tr>

如您所见,我正在尝试为每个$length

中的<td>添加不同的值

calculator.php是:

$pretTransportPierderi = ...; // SOME COMPLEX MATHEMATICAL FORMULAS WHERE &length and $height are included.

function getPrice($pretTransportPierderi)
{
    $pretFinal = $pretTransportPierderi + ($pretTransportPierderi * 0.2);
    return round($pretFinal, 2);
}

在第一个<td>中显示总和,但在第二个和第三个中将显示第一个<td>的值,而不是值3945和4045。

如何在HTML中创建代码,以便查看不同的<?= getPrice($length , $height); ?>值?

包含的文件应该从HTML获得$ length和$ height。

示例:

enter image description here

2 个答案:

答案 0 :(得分:0)

您只需要include_once()一次。 :-P

您的代码似乎有效!看看这里,看看,我所做的就是删除包含一次:https://3v4l.org/4iMb1

?php
function getPrice($length, $height)
{
$pretFinal = $length + ($height* 0.2);
return $pretFinal;
}
?>

<tr>
        <td class='inaltime'>1845</td>
        <td>
        <?php $length = 2000; $height = 1845; ?>
        <?= getPrice($length, $height ); ?> 
</td>
        <td><?php $length = 2100; $height = 1845;?>
        <?= getPrice($length , $height); ?> </td>
        <td><?php $length = 2200; $height = 1845; ?>
        <?= getPrice($length , $height); ?> </td>
    </tr>

输出:

<tr> <td class='inaltime'>1845</td> <td> 2369 </td> <td> 2469 </td> <td> 2569 </td> </tr>

答案 1 :(得分:0)

    <?php include "/calculator.php"; ?>
<tr>
$height = 1845;
<td>
    <?php $sum = 2000 + $height ;  ?>
    <?= getPrice($sum); ?>
</td>
<td><?php $sum = 2100 + $height ;  ?>
    <?= getPrice($sum); ?></td>
<td><?php $sum = 2200 + $height ;  ?>
    <?= getPrice($sum); ?> </td>
</tr>

不要仅仅为了解释而赞成这个。

这段代码在我当地已经很好了。

虽然你的函数在一个文件中,你只需要在顶部包含一次文件就可以使用它(即使它们是文件中十亿个其他函数)

然后,如果你需要数据库的数据,它的方式是相同的

<?= getPrice($table['lenght'], $table['height']) ?>

编辑:

实际上我认为按照你的方式做这个计算并不是很好,因为你只包含一个文件来改变你可以在循环中直接改变的变量来创建你的表,或者只是添加一个新的函数来创建这个变量将逻辑分离到视图中,如

//calculator.php
function PreparingMyVariable($lenght, $height)
{
    //do what i need for my calculation function
}
function getPrice($pretTransportPierderi)
{
    $pretFinal = $pretTransportPierderi + ($pretTransportPierderi * 0.2); 
    return round($pretFinal, 2); 
}

然后

<?php include "/calculator.php"; ?>
//lot of thing

<tr>
<?php $height = 1845; ?>
<td>
    <?php $lenght = 6843132;
          $sum = PreparingMyVariable($lenght, $height);  ?>
    <?= getPrice($sum); ?>
</td>
<td>
    <?php $lenght = 6843132;
          $sum = PreparingMyVariable($lenght, $height);  ?>
    <?= getPrice($sum); ?>
</td>
<td>
    <?php $lenght = 6843132;
          $sum = PreparingMyVariable($lenght, $height);  ?>
    <?= getPrice($sum); ?> 
</td>
</tr>

你甚至可以在一个函数中调用其他函数来分离你的实际计算函数