PHP if语句始终返回false

时间:2020-04-26 09:24:52

标签: php wordpress if-statement advanced-custom-fields equality

我正在使用带有简单if语句的PHP函数。如果变量= 100,则执行其他操作。

数据来自ACF Range Field。由于某些原因,即使ACF字段为= 100,该函数也始终返回else语句。我发现问题是我尝试使用的if语句:=,==,!==,===或> =。如果将其更改为single =,则无论我在ACF Range字段中输入什么值,它总是返回h2,但其余所有返回h2。

/* n > 0
 * n represents the problem size */

Foo(int n)
{
     sum = 0

     for (i = 0; i < n; i++)
     {
          sum++
     }

     for (i = 0; i < n; i++)
     {
          sum++
     }

     for (i = 0; i < n; i++)
     {
          sum++
     }
     return sum
}

2 个答案:

答案 0 :(得分:1)

假设CREATE INDEX symbol_idx ON mytable USING btree ("symbol") 应该是整数,您可以在

之后使用
$full_tegnet

答案 1 :(得分:0)

  1. 根据文档ACF Range field,是一个数字值。如@Daisen Sekai所述,您可以根据情况使用$full_tegnet来投射intval(),并使用严格相等性进行比较。

    <?php $full_tegnet = intval($full_tegnet); if ($full_tegnet === 100) { // your logic }

  2. 但是PHP使用type juggling,如果使用$full_tegnet = 100,则您的语句if ( $full_tegnet == '100' ) 应返回true 。您可以在脚本中测试这段代码,然后查看结果:

    <?php $full_tegnet = 100; if ( $full_tegnet == '100' ) { echo '<h2>Something</h2>'; } else { echo '<h2>Something else</h2>'; }

  3. 您的代码中可能还有其他问题,更可能是$full_tegnet的值导致了此问题。正如@MC Emperor所说,执行var_dump($full_tegnet)以获取$full_tegnet

  4. 的值/类型
  5. 使用内置的ACF简码查看返回的内容

    [acf field="{$tegnede_andele_}"]