PHP之Boolean
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的更多相关文章
- JDK1.7.0_45源码阅读<java.lang.Boolean>
本文适合的人群 其实感觉写这个标题的内容没有必要,只要你觉得对你有帮助那么就适合你,对你没帮助那么就不适合你.毕竟我不是专业作者,但咱会尽力的.其实最重要的一点是我不希望浪费您宝贵时间. 简要把内容在 ...
- Android LayoutInflater.inflate(int resource, ViewGroup root, boolean attachToRoot)的参数理解
方法inflate(int resource, ViewGroup root, boolean attachToRoot) 中 第一个参数传入布局的资源ID,生成fragment视图,第二个参数是视图 ...
- JS中字符串的true转化为boolean类型的true
var a="True"; a = eval(a.toLowerCase()); alert(typeof a); //boolean alert(a);//true 正解,eva ...
- Boolean()值为false的五个特殊值
在if.while等需要判断条件时,会调用函数Boolean()对判断条件进行隐式转换,而只有五个特殊值才会返回false 这五个值是:undefined, null, "", 0 ...
- jsp使用EL表达式回传boolean值出错的问题
在最近做的一个项目中使用session回传的属性中有一个为boolean,报出错. 属性名字为"isAdmit",布尔类型.后来我上网查了一下,是因为我使用了Myeclipse的自 ...
- java线程 公平锁 ReentrantLock(boolean fair)
一.公平锁 1.为什么有公平锁 CPU在调度线程的时候是在等待队列里随机挑选一个线程,由于这种随机性所以是无法保证线程先到先得的(synchronized控制的锁就是这种非公平锁).但这样就会产生饥饿 ...
- 设计数据库字段或者java中使用boolean型时需谨慎
boolean型变量只有两个值 false和true,我们在设计数据库字段时或者定义java变量时会使用boolean,通常情况下开关类的变量使用无可非议,但请一定要考虑到扩展性. 使用前请仔细考虑一 ...
- mysql中boolean类型
MYSQL保存BOOLEAN值时用1代表TRUE,0代表FALSE,boolean在MySQL里的类型为tinyint(1), MySQL里有四个常量:true,false,TRUE,FALSE, ...
- java.lang.Class.forName(String name, boolean initialize, ClassLoader loader)方法
描述 Java.lang.Class.forName(String name, boolean initialize, ClassLoader loader) 方法返回与给定字符串名的类或接口的Cla ...
- 【Go入门教程2】内置基础类型(Boolean、数值、字符串、错误类型),分组,iota枚举,array(数值),slice(切片),map(字典),make/new操作,零值
这小节我们将要介绍如何定义变量.常量.Go内置类型以及Go程序设计中的一些技巧. 定义变量 Go语言里面定义变量有多种方式. 使用var关键字是Go最基本的定义变量方式,与C语言不同的是Go把变量类型 ...
随机推荐
- 在Vue项目中使用vw实现移动端适配
有关于移动端的适配布局一直以来都是众说纷纭,对应的解决方案也是有很多种.在<使用Flexible实现手淘H5页面的终端适配>提出了Flexible的布局方案,随着viewport单位越来越 ...
- python和shell变量互相传递
python -> shell: 1.环境变量 复制代码 代码如下: import os var=123或var='123'os.environ['var']=str(var) #envir ...
- Vue中使用ECharts画散点图加均值线与阴影区域
[本文出自天外归云的博客园] 需求 1. Vue中使用ECharts画散点图 2. 在图中加入加均值线 3. 在图中标注出阴影区域 实现 实现这个需求,要明确两点: 1. 知道如何在vue中使用ech ...
- 嵌入式Linux内时区配置
一般情况下,嵌入式Linux系统的时区,也是国际事件. 但是我们是属于东八区的时区,所以有一些时候要更改一下 TZ 变量可以配置时区,如下
- 红米3 MoKee 7.1.2_r36 自编译版/去魔趣中心、宙斯盾/息屏禁止刷新UI 2018年5月5日更新
一.ROM简介 MoKee是基于CM二次修改的ROM,本地化系统:农历.归属地.OMS框架.状态栏显示网速/时间显秒等等. 二.ROM自编译DIY简介 1.Lawnchair桌面. 2.Via谷歌版浏 ...
- MySQL 5.7的安装及主从复制(主从同步)
1.master上开启binlog日志,配置如下 一般mysql配置文件在目录/etc下,叫my.cnf (如果找不到的话也有可能在这些目录下:/etc/my.cnf,/etc/mysql/my.cn ...
- 响应式编程笔记三:一个简单的HTTP服务器
# 响应式编程笔记三:一个简单的HTTP服务器 本文我们将继续前面的学习,但将更多的注意力放在用例和编写实际能用的代码上面,而非基本的APIs学习. 我们会看到Reactive是一个有用的抽象 - 对 ...
- Ubuntu安装redis缓存数据库
参考:http://blog.csdn.net/xiangwanpeng/article/details/54586087 1.在下载目录下 sudo wget http://download.red ...
- 1. ansible-playbook 变量定义与引用
简单的playbook playbook 是ansible的核心组件,使用的是YAML语法. 下面请看简单的playbook代码 [root@LeoDevops playb]# cat nginx.y ...
- [Laravel] 01 - Love beautiful code? We do too.
前言 一.良心资料 英文 Laravel 框架:https://laravel.com/ 教程:https://laracasts.com/series/ laravel-from-scratch-2 ...