php常见数据类型转换与判断

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

强制类型转换问题:

(array) false   ====> array(0=>)

(array) true    ====> array(0=>1)

(array) null     ====>array( )

进行类型转换的时候要注意

 

1. null , 0 , false , array() , '' ,'0'


type:        NULL       (int) $var=0  intval($var) 0
type:     integer       (int) $var=0  intval($var) 0
type:     boolean       (int) $var=0  intval($var) 0
type:       array        (int) $var=0  intval($var) 0
type:      string        (int) $var=0  intval($var) 0

其他类比较:

array(1,2) , 'hello12' , '12hello' ,'20120801017hello' , 0.99, 0.1

type:       array       (int) $var=1  intval($var) 1
type:      string       (int) $var=0  intval($var) 0
type:      string       (int) $var=12  intval($var) 12
type:      string       (int) $var=2147483647  intval($var) 2147483647   //边界值
type:      double       (int) $var=0  intval($var) 0
type:      double       (int) $var=0  intval($var) 0

2. empty() , isset()

empty():

""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的

 "  " 非空,中间有空格

isset():

isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用defined函数。

若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE

 

 当转换为 boolean 时,以下值被认为是 FALSE:

    布尔值 FALSE 自身
    整型值 0 (零)
    浮点型值 0.0 (零)
    空 字符串, 以及 字符串 "0"
    不包括任何元素的数组
    不包括任何成员变量的对象(仅PHP 4.0 适用)
    特殊类型 NULL (包括尚未设定的变量)
    从没有任何标记(tags)的XML文档生成的SimpleXML 对象

转载于:https://my.oschina.net/u/195896/blog/71931

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/266925.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Maven deploy部署jar到远程私服仓库

一、配置私服账号密码 修改maven配置文件,在$MAVEN_HOME/conf/setting.xml中增加如下配置: 注意,这里配置的id为releases何snapshots,当然可以改为其他,先记得这里有过id的配置,后面有用 二、配置远程发布到…

sublime怎么编译php,让sublime编译php、js

一、PHP1、将PHP程序设置到环境变量中,以使在任意目录下都可执行php命令。关于这个,linux下和windows下分别又不同的方法,可以网上搜索到。2、创建PHP编译系统添加 PHP 的 build system,如图所示, Tools->Build Sys…

HDU-Yuna's confusion 树状数组 Or Multiset

比赛的时候竟然没有想到这题可以用树状数组过,由于数字的区间比较小,所以直接开设一个树状数组,定义sum(i) 表示小于i的数的总数。那么判定一个数是否有的条件就是计算sum(i1) sum(i) 便可以了,查找第K大的数,也就可以…

linux系统etc什么意思,etc.是什么意思 linux下的etc是什么意思

Etc是Electronic the collection的缩写,指电子不停车收费系统,是指车辆在通过收费站时通过车上安装的Etc车载系统与收费站之间微波通讯,进行车辆识别,再联合网络和银行进行自动扣费的一种新型收费模式。电子不停车收费系统(英语&a…

《几何与代数导引》例2.7.3

求$yz$面上二次曲线\begin{equation}\begin{cases}\frac{z^2}{c^2}-\frac{y^2}{a^2}1\\x0\\\end{cases}\end{equation}绕$z$轴旋转所得的二次曲面的方程.解:对于二次曲面上的任意点$p(x,y,z)$.都存在相应的二次曲面上的点$(x_0,y_0,z_0)$,使得\begin{equation}(x-x_…

【Leetcode】【Longest Palindromic Substring】【最长回文子串】【C++】

题目:给定字符串,求其最长的回文子串说明:给定字符串长度为1000以内。思路:for循环遍历字符串,求以i为中心的回文子串长度。与最长回文子串长度max_len比较,若大于max_len,则更新max_len。说明&…

万里长征,始于足下——菜鸟程序员的学习总结

最近一直的谈论如何学习,如何做笔记,学习方法是否正确?(发现问题——创新的原动力)为什么开始系统化学习了,反而暴露许许多多的问题?细想也并不是很多,这都是过去的遗留问题&#xf…

linux命令添加文件权限,linux 的常用命令及文件权限管理

一些常规命令# 切换目录cd /www/app# 显示当前目录绝对路径pwd# tab键可以自动补全路径,命令;及提示选择,自动补全、避免输入错误、tab# 创建文件夹mkdir test# 创建文件touch 123.txt# 创建文件并打开vi 123.txt# 查看文件、more 之后&#…

SSM整合笔记

SSM整合笔记 1&#xff0c;创建maven项目 创建maven项目过程省略 ps&#xff1a;如果创建完maven项目之后项目报错&#xff0c;可能是没有配置Tomcat 2&#xff0c;在pom.xml里面导入相应的jar的依赖 <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi…

linux jetty 安装目录结构,Linux下Jetty 9安装部署

Jetty简介Jetty是一个开源的servlet容器&#xff0c;它为基于Java的web内容&#xff0c;例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的&#xff0c;它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象&#xff0c;可以迅速为一些独立运行(sta…

[AX]AX2012开发新特性-全文索引

全文索引在索引中识别字符串字段中使用空格隔开的单词&#xff0c;不像普通索引仅仅使用字符串的第一个单词&#xff0c;这样能加快对字符串字段的搜索。AX2012支持每个表有一个且只能有一个全文索引&#xff0c;索引可以包含多个字段&#xff0c;对字段字符串长度没有限制&…

Bootstrap 学习笔记8 下拉菜单滚动监听

代码部分&#xff1a; <nav class"navbar navbar-default"><a href"#" class"navbar-brand">web开发</a><ul class"nav navbar-nav"><li><a href"#html5">HTML5</a></li>&…

怎么在linux的cmd中运行c项目,如何在cmd窗口编译运行c语言程序?

/这个很简单&#xff0c;只需要下载一个C/C编译器&#xff0c;添加一下环境变量&#xff0c;之后就能在cmd窗口中编译运行C语言程序了&#xff0c;下面我简单介绍一下实现过程&#xff0c;主要内容如下&#xff1a;1.下载C/C编译器&#xff0c;这里可以下载MinGW&#xff0c;包…

HTML基础DW使用教程

1、打开文件拓展名&#xff1a; 方法一.打开计算机→组→文件夹和搜索选项→查看&#xff0c;把隐藏拓展名的勾取掉。 方法二.打开计算机→文件夹选项→查看&#xff0c;把隐藏拓展名的勾取掉。 2.桌面新建一个记事本&#xff0c;把.txt后缀改成HTML。 3.右键打开方式&#xff…

eclipse中设置svn的commit快捷键

这样还没有完成&#xff0c;网上大多只有这一步 点Windows>>customize Perspective 勾上svn就可以了.......转载于:https://blog.51cto.com/2820354/963916

查询Linux系统网卡流量负载,超好用linux系统查询网卡等流量参数的工具,分享给大家!!!...

超好用linux系统查询网卡等流量参数的工具&#xff0c;分享给大家&#xff01;&#xff01;&#xff01;工作中大家或许会遇到这类情况&#xff1a;托管服务器流量超出限额&#xff0c;可是突然又不能像windows主机那样通过QQ管家或者360卫士等软件工具那样很直观的测出服务器的…

WPF的转换器中使用Brush应注意问题

1、Brushes用错了命名空间将导致程序无法正确工作。笔者曾写了一个flag值转换为相应的Brush&#xff0c;由于不小心Using了一个错误的命名空间&#xff08;System.Drawing&#xff09;导致Xaml文件界面元素Fill绑定属性总出不来应有的效果。最后费了好大劲才发现&#xff0c;替…

XamarinAndroid组件教程RecylerView适配器设置动画示例

XamarinAndroid组件教程RecylerView适配器设置动画示例 【示例1-3】下面将在RecylerView的子元素进行滚动时&#xff0c;使用适配器动画。具体的操作步骤如下&#xff1a; &#xff08;1&#xff09;创建一个名为RecylerViewAnimatorsAdapter的项目。 &#xff08;2&#xff09…

linux 查询 lib信息,怎么查看linux是否使用 libarchive

1、操作系统级别的共享库和基础的系统工具库比方说libc.so, libz.so, libpthread.so等等&#xff0c;这些系统库会被放在/lib和/usr/lib目录下面&#xff0c;如果是64位操作系统&#xff0c;还会有/lib64和/usr /lib64目录。如果操作系统带有图形界面&#xff0c;那么还会有/us…

oracle oemrpt数据库显现

好多初学者都会找不到oemrpt数据库 oracle中只是做了隐藏 需要在节点上右击选择“刷新所有节点”后 你就可以在数据库中看到oemrpt数据库了转载于:https://blog.51cto.com/wujingfeng/968460