-1

我正在编写一个脚本,用于计算旅行的总距离(以英里为单位)。它需要计算总距离,以及任何中点之间的距离。现在它可以很好地计算总距离。我正在使用投递箱,并允许它接受最多 5 个中点。现在,我可能只是想让它变得比它需要的更复杂,但是......我希望能够运行脚本,即使三个中点表单留空(这只会说“选择城市" 的值为" "or null)。当表单的三个字段为空时,有没有办法让脚本运行?

编辑:每个 'index' 或 'pont' 都用= " ";. 我为整个脚本使用了一个多维数组,7 个下拉框以“Select City”的选定值开始,该值具有空/空值。我只想知道当两个中点值/下拉框保留初始值“选择城市”时如何运行表单/脚本。

对不起,这是我的一些代码:

<?php 
if (isset($_POST['Submit'])) {
$StartIndex = stripslashes($_POST['Start']);
$EndIndex = stripslashes($_POST['End']);
 if (isset($Distances[$StartIndex][$EndIndex]))
echo "Total trip distance from $StartIndex to $EndIndex is". $Distances[$StartIndex][$EndIndex]." miles<br/>";
 else
echo "Distance could not be calculated";
}
?>

这就是我停下来的地方...

<?php
if (isset($_POST['Submit'])) {
$Point1 = stripslashes($_POST['1']);
?>

^^其他四个中点是一样的,当只选择起始城市,结束城市和两个中点城市时,我零线索如何仍然运行表单。我会添加整个脚本,但它对多维数组来说很长

要查看我的表单的外观,您可以转到 >> 131.118.95.215/users/mjswiontek0/project/city/citytocity.php

4

1 回答 1

0

empty($_POST["1"])如果您想将其包含在计算中,只需在每个中点评估您的测试(例如)即可。

请参阅评论(非常通用)示例:

if (isset($_POST['Submit'])) 
{
    // start with the start index
    $PrevIndex = stripslashes($_POST['Start']);

    $Point = 1;
    $Distance = 0;

    do
    {
        // do we have the N-th midpoint?
        $HavePoint = !empty($_POST[$Point]);
        // if not, use end point
        $NextIndex = stripslashes($_POST[$HavePoint ? $Point : 'End']);

        // add distance between the two midpoint to total
        $Distance += $Distances[$PrevIndex][$NextIndex];

        // make current point the previous point to the next iteration
        $PrevIndex = $NextIndex;

        // move to the next point for the next iteration
        $Point++;
    }
    while ($HavePoint);
}
于 2013-04-24T07:02:50.120 回答