Php中的强制转换详解

 

 强制转换中分为两种,第一种就只临时转换,和永久转换。在临时转换中呢,首先可以通过第一中方式来显示,就是小括号的形式,临时转换成整型我们可以通过(int)都是这样的形式,或者是(integer)临时转换成整型,再往下再来看,临时转成浮点类型可以通过(float)或者是(double)或者是(rea!)临时转换成浮点类型,第三个临时转换成布尔类型,可以通过(boolean)或者你可以试验一下(bool)缩写的形式,我们可以来尝试写上一个布尔类型,再往下呢还可以转换成字符串型。字符串型可以通过(string )字符串类型,接着呢也可以转换成空,可以通过(unset)的形式转换为空,还可以转换成数组,(array)的形式转换成数组,还可以转换成对象,但是记住不可以转换成资源(object)转换成一个对象,那首先呢我们先来试验一下这种()小括号的形式。

  来临时转换一个变量的类型。那临时转换的是没有真正转变,这个变量的类型。可以在这写一个$var=12;这是一个整型那接着我把它临时转换成浮点类型可以通过var_dump((float)$var,(double)$var,(real)$var);一起来打印多个,那看都是把这个()小括号类型放到变量以前,来实现我们的临时转换。

  那接着我们来运行一下,看一下结果。

  会看到三个float12,证明可以。

  代码例

  <?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);试验一下看看可不可以。

  String12booltruebooltrue没问题,没问题都可以那再把它转换成空,在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/

posted @ 2016-12-05 18:13  程序猿终结者  阅读(2739)  评论(0编辑  收藏  举报