Php中的强制转换详解
强制转换中分为两种,第一种就只临时转换,和永久转换。在临时转换中呢,首先可以通过第一中方式来显示,就是小括号的形式,临时转换成整型我们可以通过(int)都是这样的形式,或者是(integer)临时转换成整型,再往下再来看,临时转成浮点类型可以通过(float)或者是(double)或者是(rea!)临时转换成浮点类型,第三个临时转换成布尔类型,可以通过(boolean)或者你可以试验一下(bool)缩写的形式,我们可以来尝试写上一个布尔类型,再往下呢还可以转换成字符串型。字符串型可以通过(string )字符串类型,接着呢也可以转换成空,可以通过(unset)的形式转换为空,还可以转换成数组,(array)的形式转换成数组,还可以转换成对象,但是记住不可以转换成资源(object)转换成一个对象,那首先呢我们先来试验一下这种()小括号的形式。
来临时转换一个变量的类型。那临时转换的是没有真正转变,这个变量的类型。可以在这写一个$var=12;这是一个整型那接着我把它临时转换成浮点类型可以通过var_dump((float)$var,(double)$var,(real)$var);一起来打印多个,那看都是把这个()小括号类型放到变量以前,来实现我们的临时转换。
那接着我们来运行一下,看一下结果。

会看到三个float的12,证明可以。
代码例
<?php
//临时转换
$var=12;
var_dump((float)$var,(double)$var,(real)$var);
那再把它临时转换成字符串类型,再把它转换成String类型、bool类型,包括boolean的全称,var_dump((float)$var,(double)$var,(real)$var,(string)$var,(bool)$var,(boolean)$var);试验一下看看可不可以。

String12,bool的true,bool的true没问题,没问题都可以那再把它转换成空,在var_dump((unset)$var,(array)$var,(object)$var);这是临时转换再来看一下。

你看到一个null 一个数组array一个对象object都可以,那接着你看到这是转换成其它类型还有一个整型的我们没有实验,再来试验一下写上一个$string='3king';那现在用它转换成一个整型的话。
var_dump((int)$string,(integer)$string);把它们临时转换成整型

整形的3同样的记住我们的规则,字符串转换成整型的时候,是不是去合法部分啊。
代码例;
<?php
//临时转换
$var=12;
var_dump((float)$var,(double)$var,(real)$var,(string)$var,(bool)$var,(boolean)$var);
echo '<hr/>';
var_dump((unset)$var,(array)$var,(object)$var);
echo '<hr/>';
$string='3king';
var_dump((int)$string,(integer)$string);
echo '<hr/>';
对那最后呢我们在来实验一下,那几种转换成布尔类型的false,看看可不可以,写上一个$string='';转换成布尔类型的时候应该转换成var_dump((bool)$string);

这时候你看到的就是一个bool类型的false没有问题,这是我们的临时转换通过这种小括号()的形式。
代码例
<?php
//临时转换
$var=12;
var_dump((float)$var,(double)$var,(real)$var,(string)$var,(bool)$var,(boolean)$var);
echo '<hr/>';
var_dump((unset)$var,(array)$var,(object)$var);
echo '<hr/>';
$string='3king';
var_dump((int)$string,(integer)$string);
echo '<hr/>';
$string='';
var_dump((bool)$string);
echo '<hr/>';
原文链接:http://www.maiziedu.com/wiki/php/coercion/
Php中的强制转换详解的更多相关文章
- 【转】C语言中不同的结构体类型的指针间的强制转换详解
C语言中不同类型的结构体的指针间可以强制转换,很自由,也很危险.只要理解了其内部机制,你会发现C是非常灵活的. 一. 结构体声明如何内存的分布, 结构体指针声明结构体的首地址, 结构体成员声明该成员在 ...
- javascript强制转换详解
转换成数值 Number函数强制转换成数值 数值->转换成原来的值 字符串->如果可以解析为数值,则转换成数值:否则转换成NaN或者0 true->1,falSe->0 und ...
- PHP中IP地址与整型数字互相转换详解
这篇文章主要介绍了PHP中IP地址与整型数字互相转换详解,本文介绍了使用PHP函数ip2long与long2ip的使用,以及它们的BUG介绍,最后给出自己写的两个算法,需要的朋友可以参考下 IP转换成 ...
- c++中vector的用法详解
c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...
- java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET
java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET 亲,“社区之星”已经一周岁了! 社区福利快来领取免费参加MDCC大会机会哦 Tag功能介绍—我们 ...
- Objective-C中 Self和 Super详解
Objective-C中 Self和 Super详解 Objective-C 中Self 和 Super 详解本文要介绍的内容,在 Objective-C 中的类实现中经常看到这两个关键字 self ...
- javascript中=、==、===区别详解
javascript中=.==.===区别详解今天在项目开发过中发现在一个小问题.在判断n==""结果当n=0时 n==""结果也返回了true.虽然是个小问题 ...
- Android中的windowSoftInputMode属性详解
这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下 在前面的一篇文章中 ...
- PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等
页面导航: 首页 → 网络编程 → PHP编程 → php技巧 → 正文内容 PHP安全 PHP开发中常见的安全问题详解和解决方法(如Sql注入.CSRF.Xss.CC等) 作者: 字体:[增加 减小 ...
随机推荐
- js 复选框 全选都选 如果某一个子复选框没选中 则全选按钮不选中
<!DOCTYPE HTML> <html> <head> <meta charset=UTF-8> <title>js 复选框 全选都选 ...
- 阿里云推荐码 hut29f
阿里云 推荐码 hut29f,适用于新手首次购买.
- 渗透技术--SQL注入写一句话木马原理
讲一下SQL注入中写一句话拿webshell的原理,主要使用的是 SELECT ... INTO OUTFILE 这个语句,下面是一个语句的例子: SELECT * INTO OUTFILE 'C:\ ...
- iOS Bundle display name国际化
iOS app包显示名称可以国际化,具体方法如下: 编辑Info.plist,添加一个新的属性:Application has localized display name,设置该属性的类型为bool ...
- C#动态生成html页
Html生成模块:WriteHtml.cs using System.Collections.Generic; using System.IO; using System.Text; namespac ...
- ubuntu16.04.1下的mysql修改默认编码
在Ubuntu 下配置 Mysql 的字符编码.安装完 Mysql 后,系统默认的字符编码是 latin1 ,输入的是中文,可是输出却是一堆乱码.现在要做的就是把 Mysql的默认字符编码设置为支持中 ...
- Subversion Edge
http://www.collab.net/downloads/subversion#tab-1
- 关于wamp5中(apache)设置虚拟主机
找了很多文章,但是很多对于最新的apache都已经过时无法生效了. http://blog.csdn.net/yuluo727282752/article/details/6944359 这篇文章写得 ...
- centos 配置 ssl服务
使用的是appach 2.4.10 版本 各个版本配置不同 1.首先修改httpd.conf 文件 appach 安装目录下的 conf文件夹中找到 #LoadModule socache_shmcb ...
- Xcode 如何删除过期的Provisioning Profile文件
Xcode 中所有的Provisioning Profile文件,都在 ~/Library/MobileDevice/Provisioning Profiles 这个文件夹下:进入该文件夹,按照文件 ...