如何存储值数组,然后根据用户输入从中进行选择?

时间:2016-05-03 17:57:34

标签: php html

我正在创建一个音量转换器。它允许用户输入一个值并选择要转换的单位和将转换成的单位。它使用<select>标记进行用户输入选择。

<select>看起来像这样:

<select name="from">
  <option value=0>--select--</option>
  <option value=1>cm3</option>
  <option value=2>m3</option>
  <option value=3>Feet3</option>
  <option value=4>Gallons(UK)</option>
  <option value=5>Gallons(US)</option>
  <option value=6>Inches3</option>
  <option value=7>Litres</option>
  <option value=8>Yards3</option>
  <option value=9>Quart(UK)</option>
</select>

还有一个与此类似的名称&#34; to&#34;。

之后我在PHP中执行了以下操作:

$from=$_POST['from'];
$to=$_POST['to'];

function assign($from,$val)
      {
          switch ($from)
          {
              case 1:
                  $fromu="cm<sup>3</sup>";
                  $cm=1;
                  $me=0.000001;
                  $ft=0.000035315;
                  $gk=0.000219969;
                  $gs=0.000264172;
                  $in=0.061024;
                  $li=0.001;
                  $ya=0.000001308;
                  $qtk=0.000879877;
                  break;
               case 2:
                    $fromu="m<sup>3</sup>";
                    $cm=1000000;
                    $me=1;
                    $ft=35.32;
                    $gk=220;
                    $gs=264;
                    $in=61024;
                    $li=1000;
                    $ya=1.308;
                    $qtk=879.877;
                    break;

还有7个案例基于html select&#34; from&#34;并且每个单位相对于所做的选择保持每个单位的转换值。 最后是:

            echo "<br><br><table align=center>
         <tr><td><h3> ",$val," ",$fromu," equivalent is </h3></td></tr>
         <tr align=right><td><u> ",(double)($val*$cm),"</u> CentiMeter<sup>3</sup></td></tr>
         <tr align=right><td><u> ",(double)($val*$me),"</u> Meter<sup>3</sup></td></tr>
         <tr align=right><td><u> ",(double)($val*$ft),"</u> Feet<sup>3</sup></td></tr>
         <tr align=right><td><u> ",(double)($val*$gk),"</u> Gallons(UK)</td></tr>
         <tr align=right><td><u> ",(double)($val*$gs),"</u> Gallons(US)</td></tr>
         <tr align=right><td><u> ",(double)($val*$in),"</u> Inches<sup>3</sup></td></tr>
         <tr align=right><td><u> ",(double)($val*$li),"</u> Litres</td></tr>
         <tr align=right><td><u> ",(double)($val*$ya),"</u> Yards<sup>3</sup></td></tr>
         <tr align=right><td><u> ",(double)($val*$qtk),"</u> Quart(UK)</td></tr></table>";
    }
    assign($from,$val);
}

如何以可以保存所有转换值的方式对其进行优化(我可能在关联数组中思考)并且能够根据&#34;中的用户选择选择一个转换值。 34;选择。 (可能还有更好的方法来写这个。)

0 个答案:

没有答案