PHP使用Multidim数组执行计算

时间:2013-09-29 16:34:03

标签: php arrays loops

我目前有一个带行星的多维数组,它的相对重力值。 ([0] [0] = planet和[0] [1] =相对重力)。

在我的页面上,我有一个表单,用户提交项目的重量和他们希望看到它的重量的行星。我要做的是拿用户输入的重量乘以他们选择的特定行星的相对重力。

我最初的尝试是使用这样的东西:

<?php
$file = fopen("PLANET.txt", "r");
$planets = array();

while(!feof($file)) {
    $line = fgets($file);
    $value = explode(" ", $line);
    array_push($planets, $value);
}



if(isset($_POST['weight']) && isset($_POST['planet'])) {
    while($x=0;x<count($planets);x++) {
        if($_POST['planet'] == $planets[x][0]) {
            $final_weight = $_POST['weight'] * $planets[x][1];
        }
    }
}

?>

然而它似乎没有工作......我是PHP的新手,我可能会犯一个愚蠢的错误,但我似乎无法找到它,任何帮助都会非常感激。

编辑:

好的,这就是我现在所拥有的,它似乎正在发挥作用,非常感谢你们。为犯这些错误感到愚蠢!

for($x=0;$x<count($planets);$x++) {
        if($_POST['planet'] == $planets[$x][0]) {
            $final_weight = $_POST['weight'] * $planets[$x][1];
        }
    }

1 个答案:

答案 0 :(得分:0)

你的while循环应该是这样的(注意额外的$标志):

while($x=0;$x<count($planets);x++) {
    if($_POST['planet'] == $planets[$x][0]) {
        $final_weight = $_POST['weight'] * $planets[$x][1];
    }
}

编辑:以上是完全废话。不知道是什么进入了我。它当然应该是:

for($x=0;$x<count($planets);x++) {
    if($_POST['planet'] == $planets[$x][0]) {
        $final_weight = $_POST['weight'] * $planets[$x][1];
    }
}