浅谈PHP中其他类型转化为Bool类型

问题起由:PHP中if(true==2)会返回true还是false?

结果是返回true,顺着这个问题,我把php其他数据类型也测试一下。

结论:

转化为bool类型时,会变成false的几种数据:

1.整型0

2.空字符串

3.空数组

4.NULL

欢迎补充...

测试代码:

<?php
function p($title,$mybool){
  echo "<pre>".$title;
  echo var_dump($mybool)."</pre>";
}
class foo {
  function do_foo() {
    echo "你好!";
  }
}
echo"<pre>PHP中的其他类型转化为Bool类型</pre>";
//零
$n0=boolval(0);
p("零:",$n0);

//正整数
$n=boolval(2);
p("正整数:",$n);

//负整数
$nx=boolval(-2);
p("负整数:",$nx);

//字符空格
$ss=boolval(" ");
p("字符空格:",$ss);

//空字符串
$sn=boolval("");
p("空字符串:",$sn);

//字符串
$s=boolval("chinacion");
p("字符串:",$s);

//空数组
$an=boolval(array());
p("空数组:",$an);

//数组
$a=boolval(array(0=>1));
p("数组:",$a);

//null类型
$nu = boolval(NULL);
p("NULL:",$nu);

//object
$bar = new foo;
$bar;
$obj = boolval($bar);
p("Object:",$obj);
(0)

相关推荐

  • php curl常见错误:SSL错误、bool(false)

    症状:php curl调用https出错 排查方法:在命令行中使用curl调用试试. 原因:服务器所在机房无法验证SSL证书. 解决办法:跳过SSL证书检查. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 症状:php curl调用curl_exec返回bool(false),命令行curl调用正常. 排查方法: var_dump(curl_error($ch)); 返回: string(23) "Empty reply from server

  • php中的boolean(布尔)类型详解

    当转换为 boolean 时,以下值被认为是 FALSE: the 布尔值 FALSE 自身 the 整型值 0 (零) the 浮点型值 0.0 (零) 空 字符串, 以及 字符串 "0" 不包括任何元素的数组 不包括任何成员变量的对象(仅PHP 4.0 适用) 特殊类型 NULL (包括尚未设定的变量) 从没有任何标记(tags)的XML文档生成的SimpleXML 对象 所有其它值都被认为是 TRUE(包括任何资源). Warning -1 和其它非零值(不论正负)一样,被认为是

  • 《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组

    数字.浮点.布尔型是值类型,英文:int.float.bool,这样你知道他们怎么用了. 比如语句:$fa=3.14; 字符串和数组是引用类型,也就是说他们作为地址放在栈里,当重新赋值时,栈里的地址改变方向,原来的指向变没或给回收了,英文:string.array. 比如:$str="字符串";$arr=array("a"=>"数","b"=>"组");// array()是一个数组赋值函数,这

  • PHP数据类型之布尔型的介绍

    布尔类型是PHP中 最简单的类型.它的值可以为 TRUE 或 FALSE. 如: $foo=false;$foo1=true;echo "为假时输出值为:".$foo; //没有输出值echo "<br />为真时输出值为:".$foo1; //输出1 这里主要的细节: 当转换为 boolean 时,以下值被认为是 FALSE :1.the 布尔值 FALSE 自身 2.the 整型值 0 (零) 3.the 浮点型值 0.0 (零) 空 字符串, 以及

  • 浅谈PHP中其他类型转化为Bool类型

    问题起由:PHP中if(true==2)会返回true还是false? 结果是返回true,顺着这个问题,我把php其他数据类型也测试一下. 结论: 转化为bool类型时,会变成false的几种数据: 1.整型0 2.空字符串 3.空数组 4.NULL 欢迎补充... 测试代码: <?php function p($title,$mybool){ echo "<pre>".$title; echo var_dump($mybool)."</pre>

  • 浅谈python中的变量默认是什么类型

    1.type(变量名),输出的结果就是变量的类型: 例如 >>> type(6) <type 'int'> 2.在Python里面变量在声明时,不需要指定变量的类型,变量的类型是动态指定的:>>> x=5 >>> type(x) <type 'int'> >>> x="wang" >>> type(x) <type 'str'> 3.也就是说变量的类型,根据给出

  • 浅谈Javascript中的12种DOM节点类型

    前言 DOM的作用是将网页转为一个javascript对象,从而可以使用javascript对网页进行各种操作(比如增删内容).浏览器会根据DOM模型,将HTML文档解析成一系列的节点,再由这些节点组成一个树状结构.DOM的最小组成单位叫做节点(node),文档的树形结构(DOM树)由12种类型的节点组成. 属性 一般地,节点至少拥有nodeType.nodeName和nodeValue这三个基本属性. 节点类型不同,这三个属性的值也不相同 nodeType nodeType属性返回节点类型的常

  • 浅谈springMVC中controller的几种返回类型

    Controller方法的返回值可以有以下几种: 1.返回ModelAndView 返回ModelAndView时最常见的一种返回结果.需要在方法结束的时候定义一个ModelAndView对象,并对Model和View分别进行设置. 2.返回String 1):字符串代表逻辑视图名 真实的访问路径="前缀"+逻辑视图名+"后缀" 注意:如果返回的String代表逻辑视图名的话,那么Model的返回方式如下: public String testController(

  • 浅谈python中的数字类型与处理工具

    python中的数字类型工具 python中为更高级的工作提供很多高级数字编程支持和对象,其中数字类型的完整工具包括: 1.整数与浮点型, 2.复数, 3.固定精度十进制数, 4.有理分数, 5.集合, 6.布尔类型 7.无穷的整数精度 8.各种数字内置函数及模块. 基本数字类型 python中提供了两种基本类型:整数(正整数金额负整数)和浮点数(注:带有小数部分的数字),其中python中我们可以使用多种进制的整数.并且整数可以用有无穷精度. 整数的表现形式以十进制数字字符串写法出现,浮点数带

  • 浅谈MySQL中float、double、decimal三个浮点类型的区别与总结

    下表中规划了每个浮点类型的存储大小和范围: 类型 大小 范围(有符号) 范围(无符号) 用途 ==float== 4 bytes (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 单精度 浮点数值 ==double== 8 bytes (-1.797 693 134 862 315 7 E

  • 浅谈mybatis中SQL语句给boolean类型赋值问题

    我就废话不多说了,大家还是直接看代码吧~ <select id="getBiTree" parameterType="String" resultMap="MenuVoListMap"> SELECT m.menu_id , m.parent_id , m.`name` , 1 opens FROM menu m WHERE m.is_valid = 1 AND (m.type = 0 or m.type = 1) and m.men

  • 浅谈C++中虚函数实现原理揭秘

    编译器到底做了什么实现的虚函数的晚绑定呢?我们来探个究竟. 编译器对每个包含虚函数的类创建一个表(称为V TA B L E).在V TA B L E中,编译器放置特定类的虚函数地址.在每个带有虚函数的类 中,编译器秘密地置一指针,称为v p o i n t e r(缩写为V P T R),指向这个对象的V TA B L E.通过基类指针做虚函数调 用时(也就是做多态调用时),编译器静态地插入取得这个V P T R,并在V TA B L E表中查找函数地址的代码,这样就能调用正确的函数使晚捆绑发生

  • 浅谈Java中各种修饰符与访问修饰符的说明

    JAVA中的类只能是public 或者package的.这是符合逻辑的:人们定义类的初衷就是为了让别人用的.倘若是private,别人怎么调用?但是有一个内部类可以被定义为private.严格上说,内部类,算不得上是一种光明正大的类,内部类在某种意义上是类这个王国里的特务和地下工作者.特务和地下工作者为王国起了不少作用,但是几乎从来不敢在公众场合抛投露面.就算要露面,也要在主人(class)的同意下,向导(Interface)的引导下,才敢战战兢兢的走出来.下面是常规的一些类的修饰符和访问修饰符

  • 浅谈python中统计计数的几种方法和Counter详解

    1) 使用字典dict() 循环遍历出一个可迭代对象中的元素,如果字典没有该元素,那么就让该元素作为字典的键,并将该键赋值为1,如果存在就将该元素对应的值加1. lists = ['a','a','b',5,6,7,5] count_dict = dict() for item in lists: if item in count_dict: count_dict[item] += 1 else: count_dict[item] = 1 2) 使用defaultdict() defaultdi

随机推荐