Boolean布尔类型

这是最简单的类型。Boolean表达了真值,可以为true或者false。

语法

要指定一个布尔值,使用常量true或者false,两个都不区分大小写。

通常运算符所返回的Boolean值结果会被传递给控制流程。

转化为布尔值

要明确地将一个值转化成Boolean,用(bool) 或者(boolean)来强制转化。

但是很多情况下要用强制转化,因为当运算符,函数或者流程控制结构需要一个

Boolean参数时,该值会被自动转换,

转化为Boolean时,以下值被认为是false:

①、布尔值false本身。

②、整型值0(零)

③、浮点型值0.0

④空字符串,以及字符串'0'

⑤、不包含任何元素的数组

⑥、特殊类型null(包括尚未赋值的变量)

⑦、从空标记生成的simpleXML对象

所有其它值被认为是true(包括任何资源和nan)、

注意array_search($element, $array)

这个函数会返回元素在数组中的下标,

如果数组中没有这个元素会返回,false。

function remove_ellement($element, $array)

{

$index = array_search($element. $array);

if ( false !== false )

{

unset($array[$index]);

}

return array;

}

对于PHP来说一个空数组就是false,

但是在JavaScript中,数组是一个对象,所以不能用

if ( !$array )

{

来判断数组是否为空,应该用$array.length来判断数组是否为空

}

这里是一个陷阱。。。。。。。。。

注意:"0.00" 会转化为Boolean true!

所以对于数据库来说,如果某个字段的类型是decimal或者currency。

在这种情况下,你需要检查这个字段值 !=0或者把这个值转化为整数,

不要直接比较。

判断数组是否为空??

!!$array

$var1 = true;

$val2 = false;

echo $val1;//这种情况会输出1

echo $val2;//这种情况什么也不会输出

//如果想输出一个0

可以这样操作

echo (int) $val2;

注意'0'转化为Boolean false。

优先级 || 大于 = 大于 or

赋值运算符的优优先级比or的高,所以先赋值;

赋值运算符的优先级比||的低,所以逻辑运算符先执行,西安逻辑运算,在赋值。

PHP之Boolean的更多相关文章

  1. JDK1.7.0_45源码阅读<java.lang.Boolean>

    本文适合的人群 其实感觉写这个标题的内容没有必要,只要你觉得对你有帮助那么就适合你,对你没帮助那么就不适合你.毕竟我不是专业作者,但咱会尽力的.其实最重要的一点是我不希望浪费您宝贵时间. 简要把内容在 ...

  2. Android LayoutInflater.inflate(int resource, ViewGroup root, boolean attachToRoot)的参数理解

    方法inflate(int resource, ViewGroup root, boolean attachToRoot) 中 第一个参数传入布局的资源ID,生成fragment视图,第二个参数是视图 ...

  3. JS中字符串的true转化为boolean类型的true

    var a="True"; a = eval(a.toLowerCase()); alert(typeof a); //boolean alert(a);//true 正解,eva ...

  4. Boolean()值为false的五个特殊值

    在if.while等需要判断条件时,会调用函数Boolean()对判断条件进行隐式转换,而只有五个特殊值才会返回false 这五个值是:undefined, null, "", 0 ...

  5. jsp使用EL表达式回传boolean值出错的问题

    在最近做的一个项目中使用session回传的属性中有一个为boolean,报出错. 属性名字为"isAdmit",布尔类型.后来我上网查了一下,是因为我使用了Myeclipse的自 ...

  6. java线程 公平锁 ReentrantLock(boolean fair)

    一.公平锁 1.为什么有公平锁 CPU在调度线程的时候是在等待队列里随机挑选一个线程,由于这种随机性所以是无法保证线程先到先得的(synchronized控制的锁就是这种非公平锁).但这样就会产生饥饿 ...

  7. 设计数据库字段或者java中使用boolean型时需谨慎

    boolean型变量只有两个值 false和true,我们在设计数据库字段时或者定义java变量时会使用boolean,通常情况下开关类的变量使用无可非议,但请一定要考虑到扩展性. 使用前请仔细考虑一 ...

  8. mysql中boolean类型

      MYSQL保存BOOLEAN值时用1代表TRUE,0代表FALSE,boolean在MySQL里的类型为tinyint(1), MySQL里有四个常量:true,false,TRUE,FALSE, ...

  9. java.lang.Class.forName(String name, boolean initialize, ClassLoader loader)方法

    描述 Java.lang.Class.forName(String name, boolean initialize, ClassLoader loader) 方法返回与给定字符串名的类或接口的Cla ...

  10. 【Go入门教程2】内置基础类型(Boolean、数值、字符串、错误类型),分组,iota枚举,array(数值),slice(切片),map(字典),make/new操作,零值

    这小节我们将要介绍如何定义变量.常量.Go内置类型以及Go程序设计中的一些技巧. 定义变量 Go语言里面定义变量有多种方式. 使用var关键字是Go最基本的定义变量方式,与C语言不同的是Go把变量类型 ...

随机推荐

  1. c 链表之 快慢指针 查找循环节点

    参考:http://blog.csdn.net/wenqian1991/article/details/17452715 上面分析了 根据这张图 推倒出 数学公式. 刚接触 不能一下弄明白.下面结合上 ...

  2. ansible执行shell模块和command模块报错| FAILED | rc=127 >> /bin/sh: lsof: command not found和| rc=2 >> [Errno 2] No such file or directory

    命令: ansible -i hosts_20 st  -m shell -a 'service zabbix_agentd star'  -K --become ansible -i hosts_2 ...

  3. VS2013 未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService

    全是2012版本的  没找到2013的! 控制面板>程序>程序和功能 找到如下选中软件右击修复 即可 需关闭VS2013 参考:https://blog.csdn.net/zhaoyun9 ...

  4. 【iCore4 双核心板_ARM】例程十八:USBD_VCP实验——虚拟串口

    实验步骤: 1.将跳线冒跳至USB_OTG,通过Micro USB 线将iCore4 USB-OTG接口与电脑相连. 2.打开设备管理器,可以找到虚拟出来的端口,(特殊情况下如果没有虚拟出端口,我们可 ...

  5. STM32 多通道ADC采样,采用Timer1进行采样率控制,利用DMA进行传输

    http://blog.csdn.net/varding/article/details/17559399 http://www.51hei.com/stm32/3842.html https://w ...

  6. android ROM刷机updater-script单刷补丁包脚本

    ui_print(""); ui_print("-------------------------"); ui_print(" Let's Go &q ...

  7. idea生成类注释和方法注释的正确方法

    系统:Mac OS idea版本:2017.3.1 ---------------- 生成类注释 打开Preferences Editor -> File and Code Templates ...

  8. php 页面间传递数据

    b.php <?php function getClientIP() { if (getenv("HTTP_CLIENT_IP")) $ip = getenv("H ...

  9. Ubuntu 14.04 安装 Blender,并放桌面

    1.打开Blender官网 2.在主页点击down按钮,跳转到下载页面 3.根据自己的操作系统,选择合适的版本,这里使用的是ubunut 64位,所以下载Linux 64bit,保存文件,一般保存到h ...

  10. 【Oracle-PLsql】使用存储过程,利用table集合类型开发复杂业务报表

    在一般的项目中,都需要开发一些报表,少则几个字段,多则几十个字段,需要关联的表可能多达十几.几十张表,如果想要使用一个SQL语句将这几十张表关联起来 查询所需要的字段,当你听到这里的时候,你的脑子可能 ...