强制转换中分为两种,第一种就只临时转换,和永久转换。在临时转换中呢,首先可以通过第一中方式来显示,就是小括号的形式,临时转换成整型我们可以通过(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中的强制转换详解的更多相关文章

  1. 【转】C语言中不同的结构体类型的指针间的强制转换详解

    C语言中不同类型的结构体的指针间可以强制转换,很自由,也很危险.只要理解了其内部机制,你会发现C是非常灵活的. 一. 结构体声明如何内存的分布, 结构体指针声明结构体的首地址, 结构体成员声明该成员在 ...

  2. javascript强制转换详解

    转换成数值 Number函数强制转换成数值 数值->转换成原来的值 字符串->如果可以解析为数值,则转换成数值:否则转换成NaN或者0 true->1,falSe->0 und ...

  3. PHP中IP地址与整型数字互相转换详解

    这篇文章主要介绍了PHP中IP地址与整型数字互相转换详解,本文介绍了使用PHP函数ip2long与long2ip的使用,以及它们的BUG介绍,最后给出自己写的两个算法,需要的朋友可以参考下 IP转换成 ...

  4. c++中vector的用法详解

    c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...

  5. java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET

    java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET 亲,“社区之星”已经一周岁了!      社区福利快来领取免费参加MDCC大会机会哦    Tag功能介绍—我们 ...

  6. Objective-C中 Self和 Super详解

    Objective-C中 Self和 Super详解 Objective-C 中Self 和 Super 详解本文要介绍的内容,在 Objective-C 中的类实现中经常看到这两个关键字 self  ...

  7. javascript中=、==、===区别详解

    javascript中=.==.===区别详解今天在项目开发过中发现在一个小问题.在判断n==""结果当n=0时 n==""结果也返回了true.虽然是个小问题 ...

  8. Android中的windowSoftInputMode属性详解

    这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下     在前面的一篇文章中 ...

  9. PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等

    页面导航: 首页 → 网络编程 → PHP编程 → php技巧 → 正文内容 PHP安全 PHP开发中常见的安全问题详解和解决方法(如Sql注入.CSRF.Xss.CC等) 作者: 字体:[增加 减小 ...

随机推荐

  1. select/poll/epoll on serial port

    In this article, I will use three asynchronous conferencing--select, poll and epoll on serial port t ...

  2. OC的总结 ***希望对大家有帮助*** ---高小杰

    1.  NSLog           是Foundation提供的一个输出函数,它的功能非常强大,不仅可以输出字符串,还可以输出各种对象,到后面程序还会见到大量的使用NSLog()函数. 2.  N ...

  3. getPhysicalNumberOfCells 与 getLastCellNum的区别

    用org.apache.poi的包做excel导入,无意间发明若是excel文件中有空列,空列后面的数据全部读不到. 查来查去本来是HSSFRow供给两个办法:getPhysicalNumberOfC ...

  4. 家教O2O维护“老师”的逼格,算不尊重市场吗

    既然做O2O,本身就是把这当服务业的.出钱的人才是老大.老师受到尊重是因为你传授的东西他人认可,而不该是因为“老师”两个字.另外,成年人会去请家教的,往往是自己有一些长处的.你只是一方面的老师,人家可 ...

  5. 我的archlinux中安装的关于xfce4的软件

    包括一些panel的插件: xfce4-appfinder - xfce4-battery-plugin - xfce4-eyes-plugin - xfce4-mixer - xfce4-netlo ...

  6. Google-glog 日志库使用手记

    作者:高张远瞩(HiLoveS) 博客:http://www.cnblogs.com/hiloves/ 转载请保留该信息 Google Glog 是一个C++语言的应用级日志记录框架,提供了 C++ ...

  7. AsyncTask 异步处理

    1 package com.ch.day8_asynctaskdemo; 2 3 import java.util.ArrayList; 4 5 import com.ch.myutils.NetWo ...

  8. ORA-1034 ORACLE not available (转)

    http://blog.csdn.net/onlyone_htliu/article/details/6075150 前言 每一个DBA在进行数据库管理的过程中不可避免的要遇到形形色色的错误(ORA- ...

  9. 新手入门 keil MDK5 建立STM32工程

    keil uvison 是用来开发 单片机的,Keil mdk 是用来开发 ARM 的. 芯片型号是:STM32F103RB6 1,新建工程 配置属性 晶振为8M 根据实际晶振选择 生成 HEX 文件 ...

  10. Centos7下dnscrypt-proxy安装

    DNS劫持指的是"一些设备"会拦截DNS解析请求,并将错误的DNS信息返回给主机:DNS污染指的是"一些设备"会将错误的域名信息下发至公共的DNS服务器中(比如 ...