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等) 作者: 字体:[增加 减小 ...
随机推荐
- 代码review之 isInfoEnable()
上周没事扫扫系统原来的代码,突然发现这样一段代码: if(log.isInfoEnable()) { log.info("ID"+userID+"pwd"+us ...
- 一个简单的c# 贪吃蛇程序
一个简单的c#贪吃蛇程序 程序分为界面设计和程序设计:界面设计和程序设计均参考了一些游戏实例,但是所有代码内容是本人编写. 由于看到别人写的程序并没有署名,这里的署名全部都是csdn官网. 游戏界面设 ...
- Python多重装饰器
多重装饰器,即多个装饰器修饰同一个对象[实际上并非完全如此,且看下文详解] 1.装饰器无参数: >>> def first(func): print '%s() was post t ...
- 7.Git的版本退回
现在,你已经学会了修改文件,然后把修改提交到Git版本库,现在,再练习一次,修改readme.txt文件如下: Git is a distributed version control system. ...
- Winform-DataGridView 实现如Excel的粘贴复制
void AddDataGridView(DataGridView gridView, string s) { s = s.Replace("/", @"\") ...
- 2016java技术岗面试题
一.Java基础 1. String类为什么是final的. 2. HashMap的源码,实现原理,底层结构. 3. 说说你知道的几个Java集合类:list.set.queue.map实现类咯... ...
- java反射小例子
package com.txwsqk.reflect; public class Car { private String brand; private String color; private i ...
- jQuery使用serialize()表单序列化时出现中文乱码问题&js获取url中的参数,并保证获取到的参数不乱码
序列化中文时之所以乱码是因为.serialize()调用了encodeURLComponent方法将数据编码了 解决方法就是进行解码 原因:.serialize()自动调用了encodeURIComp ...
- windows programming can't find windows.h
在用控制台编译c++程序的时候,可能会遇到找不到windows.h的情况.这是因为我们在使用cl命令的时候,并没有配置好环境变量. 所以我们在运行cl命令之前,我们可以运行C:\Program Fil ...
- JavaScript中const、var和let区别浅析
在JavaScript中有三种声明变量的方式:var.let.const.下文给大家介绍js中三种定义变量的方式const, var, let的区别. 1.const定义的变量不可以修改,而且必须初始 ...