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

为什么是布尔型呢

man应该是字符串型数据吧?赋值给了flag,flag不应该也是字符串型数据吗?判断布尔型为什么不是写成"var_dump($flag)=="男""呢?

提问者:muke142202 2015-08-26 16:38

个回答

  • Perona
    2015-08-26 17:20:50
    已采纳

    <?php 
            $man = "男";
    	$flag = $man == "男";
    	echo $flag ;
    	echo "<br />" ;
    	var_dump($flag);
    ?>

    首先了解下,==是比较运算符,=是赋值运算符。

    根据优先级,第一步执行比较运算符,即比较变量$man和字符“男”是否相等。相等返回布尔值true。

    第二步执行赋值运算符,即把比较出来的true赋给变量$flag。

    那么输出来的自然就是true。

    如果想输出字符串“男”,可以把代码改成

    	($flag = $man) == "男";