如何检查PHP中的值是否不是NaN?

时间:2015-06-11 20:06:01

标签: php wordpress

我正在尝试在PHP中创建一个投票脚本,但我有一些语法错误。对于PHP来说,我真的很蠢,所以请善待......

如果没有设置,我的“doft”值是NaN吗?

if ( ! isset(int) $_POST["doft"] ){
    $new_value_doft = $prev_value_doft + $doft;
    $new_num_votes_doft = $prev_num_votes_doft + 1;
}
else{
    $new_value_doft = $prev_value_doft + $doft;
    $new_num_votes_doft = $prev_num_votes_doft; 
}

3 个答案:

答案 0 :(得分:1)

isset方法检查是否实际设置了变量或索引。你想像这样使用它

if( isset( $_POST["doft"] ) ) { }

或者,检查是否未设置

if( !isset( $_POST["doft"] ) ) { }

同时,您可以使用is_int方法确保/检查发布的值是否为整数:

if( isset( $_POST["doft"] )  && is_int( $_POST["doft"] ) ) { }

或者只使用is_numeric方法

if( isset( $_POST["doft"] )  && is_numeric( $_POST["doft"] ) ) { }

您的给定脚本应该如下所示:

if ( !isset( $_POST["doft"] ) ){
    $new_value_doft = $prev_value_doft + $doft;
    $new_num_votes_doft = $prev_num_votes_doft + 1;
}
else{
    $new_value_doft = $prev_value_doft + $doft;
    $new_num_votes_doft = $prev_num_votes_doft; 
}

答案 1 :(得分:0)

使用PHP提供的is_numeric()功能

只是检查isset不会告诉您它是否是有效数字。

答案 2 :(得分:0)

您的if声明无效。

看起来应该是这样的。

if (!isset($_POST['doft']))

您现在拥有的内容无效,因此语法错误。