douchu4048 2015-05-13 13:03
浏览 17
已采纳

PHP语句没有评估我期望的[重复]

This question already has an answer here:

I have the following code:

<?php

$starting_id = 0;

$params = array ('val' => $starting_id);

echo parse_params ($params);

function parse_params ($params)
{
    $query = ' WHERE ';
    if ($params['val'] === NULL) {
        $query .= ' IS NULL';
        return $query;
    }
    if ($params['val'] == 'NOT NULL') {
        $query .= ' IS NOT NULL';
        return $query;
    }    
    return $query.' = '.$params['val'];
} 

When I run it, I expect to see this:

WHERE 

instead, I get the following:

WHERE IS NOT NULL

Any ideas why?

</div>
  • 写回答

1条回答 默认 最新

  • dsa99349 2015-05-13 13:14
    关注

    According to the PHP type comparison tables,

    $var = 0 ; // (int)
    

    if you compare $var == "string",

    it will return true, you need to type check for this

    $var === "string"
    

    check php type comparison

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line