IF无法查询

时间:2015-12-10 17:43:02

标签: php if-statement

您好我在早期脚本中使用API​​计算了一些变量但成功返回值$ TotalDistance(基于邮政编码到邮政编码的行车距离)。

我已经添加了一个复选框,以便在返回途中进行勾选,这个想法是它然后将距离加倍,这是我的查询。

if($values['Return']>0) $TotalDistance=2*$TotalDistance; else $TotalDistance=$TotalDistance;

然而,即使复选框是票,结果仍然作为单个(x1)值返回?为什么

1 个答案:

答案 0 :(得分:1)

我假设这是一个HTML表单,$ values是$ _POST的引用或构建。

在HTML表单中提交复选框时,有两种可能的结果:

  1. 未经检查 - 未提交并且不会成为阵列的一部分
  2. 已选中 - 复选框的值已提交
  3. 示例:

    <input type="checkbox" name="Result" value="MyResultValue" />
    <input type="hidden" name="HidValue" value="OtherValue" />
    

    取消选中时会产生此效果:

    array (size=1)
        'HidValue' => string 'OtherValue' (length=10)
    

    检查时:

    array (size=2)
        'Result' => string 'MyResultValue' (length=13)
        'HidValue' => string 'OtherValue' (length=10)
    

    因此,检查是否已选中(我希望包含验证检查以确保值未被更改)执行以下操作:

    $values = $_POST; //again I'm assuming something like this is happening
    if( isset($values['Result']) && $values['Result'] == 'MyResultValue' )
    

    如果您不关心验证 - 只需使用isset。