Php中的强制转换详解
Posted 程序猿终结者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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/>\';
以上是关于Php中的强制转换详解的主要内容,如果未能解决你的问题,请参考以下文章
(计算机组成原理)第二章数据的表示和运算-第二节7:详解C语言中的强制类型转换