问答详情
源自:3-6 PHP标量类型—布尔类型

如果是这样的代码,为什么结果不输出0?

<?php 

    $man = "男";

$flag = $man == "女";

echo $flag ;

echo "<br />" ;

var_dump($flag);

?>

结果:

bool(false)

提问者:lin708940454 2017-02-09 11:13

个回答

  • SugarFeng
    2017-03-01 09:01:44

    应该是使用:

     $test = $flag == 0

     var_dump($test)

    来查看

  • SugarFeng
    2017-03-01 09:00:29

    需要注意的是,当我们用”echo”指令输出布尔类型时,如果是“true”则输出的是“1”,“false”则什么也不输出。 

    你可以使用:

      $flag == 0

     var_dump($flag)

    来查看false的值是不是0

  • qq_斯丢憋得_0
    2017-02-11 00:11:20

    第一行 申明$man = “男”这个值

    第二行 申明$flag = ($man == "女" ) 这里$man=“女”并不是一个赋值 而是一个判断 问的是 man的值等于女嘛?因为man的值在第一行申明了 等于 男 所以返回了一个布尔值 false

  • 天使之翼死神之镰
    2017-02-10 14:07:10

    $flag=$man=="女"相当于$flag=($man=="女"),$man=="女"是个判断,返回真或假,如果是字符结果则为1或0,如果用var_dump则会显示类型是布尔;

  • lin708940454
    2017-02-09 13:30:52

    正确的时候

  • lin708940454
    2017-02-09 13:30:22

    可是错误的时候会输出

    1

    bool(true)

  • qq_仅有的倔强任性_0
    2017-02-09 11:17:01

    因为是一个bool直