以下为学习孔祥盛主编的《PHP编程基础与实例教程》(第二版)所做的笔记。

PHP类型转换分为类型自动转换类型强制转换

3.5.2 类型强制转换

  类型强制转换允许编程人员手动将变量的数据类型转换成指定的数据类型。PHP提供以下3种类型强制转换方法。

  

方法1 在变量前面加一个小括号,并把目标数据类型填写在括号中。

这些目标数据类型包括:int, bool, float, string, array, object等。

程序:

 <?php
$x = 11.2; $i = (int)$x;
$f = (float)$x;
$b = (bool)$x;
$a = (array)$x;
$o1 = (object)$x;
$o2 = (object)NULL; var_dump($i); //int 11
echo "<br/>";
var_dump($f); //float 11.2
echo "<br/>";
var_dump($b); //boolean true
echo "<br/>";
var_dump($a); //array (size=1) 0 => float 11.2
echo "<br/>";
var_dump($o1); //object(stdClass)[1] public 'scalar' => float 11.2
echo "<br/>";
var_dump($o2); //object(stdClass)[2]
echo "<br/>";
?>

输出:

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:11:int 11

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:13:float 11.2

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:15:boolean true

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:17:
array (size=1)
0 => float 11.2 D:\wampServer\www\Apache服务器主目录\practise\例程.php:19:
object(stdClass)[1]
public 'scalar' => float 11.2 D:\wampServer\www\Apache服务器主目录\practise\例程.php:21:
object(stdClass)[2]

说明:1.stdClass是一个既没有成员变量,又没有成员方法的PHP内置类,其作用是:标量数据类型的数据被类型转换为对象时,动态地向对象添加scalar成员变量,scalar成员变量的值来自标量数据类型的取值。2.NULL被类型转换为对象时,将产生一个空对象。

方法2 使用以 val 结尾的函数名的函数

诸如intval()、float()、strval()函数。

程序:

 <?php
$a = "123.9abc";
$b = intval($a);
$c = floatval($a);
$d = strval($a);
var_dump($b); //int 123
echo "<br/>";
var_dump($c); //float 123.9
echo "<br/>";
var_dump($d); //string '123.9abc' (length=8)
echo "<br/>";
?>

输出:

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:6:int 123

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:8:float 123.9

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:10:string '123.9abc' (length=8)

方法3 使用settype()函数

语法格式:bool settype(mixed var, string type)

函数功能:设置var的数据类型为type数据类型,type的取值包括"bool'、“int”、“float”、"string"、"array"、"object"、”NULL“等字符串。函数如果执行成功则返回TRUE,否则返回FALSE.

程序:

 <?php
$a = "123.9abc";
settype($a, "bool");
var_dump($a); //boolean true
echo "<br/>"; $b = "123.9abc";
settype($b, "int");
var_dump($b); //int 123
echo "<br/>"; $c = "123.9abc";
settype($c, "float");
var_dump($c); //float 123.9
echo "<br/>"; $d = "123.9abc";
settype($d, "string");
var_dump($d); //string '123.9abc' (length=8)
echo "<br/>"; $e = "123.9abc";
settype($e, "array");
var_dump($e); //array (size=1) 0 => string '123.9abc' (length=8)
echo "<br/>"; $f = "123.9abc";
settype($f, "object");
var_dump($f); //object(stdClass)[1] public 'scalar' => string '123.9abc' (length=8)
echo "<br/>"; $g = "123.9abc";
settype($g, "NULL");
var_dump($g); //null
echo "<br/>";
?>

输出:

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:4:boolean true

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:9:int 123

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:14:float 123.9

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:19:string '123.9abc' (length=8)

 D:\wampServer\www\Apache服务器主目录\practise\例程.php:24:
array (size=1)
0 => string '123.9abc' (length=8) D:\wampServer\www\Apache服务器主目录\practise\例程.php:29:
object(stdClass)[1]
public 'scalar' => string '123.9abc' (length=8) D:\wampServer\www\Apache服务器主目录\practise\例程.php:34:null

3_PHP表达式_5_数据类型转换_类型强制转换的更多相关文章

  1. 3_PHP表达式_5_数据类型转换_类型自动转换

    以下为学习孔祥盛主编的<PHP编程基础与实例教程>(第二版)所做的笔记. PHP类型转换分为类型自动转换和类型强制转换. 1.布尔型数据参与算数运算时,TRUE被转换为整数1,FALSE被 ...

  2. C#高级编程笔记 2016年10月8日运算符和类型强制转换

    1.checked和unchecked 运算符 C#提供了checked 和uncheckde 运算符.如果把一个代码块标记为checked, CLR就会执行溢出检查,如果发生溢出,就抛出overfl ...

  3. C#高级编程 (第六版) 学习 第六章:运算符和类型强制转换

    第六章 运算符和类型强制转换 1,运算符 类别 运算符 算术运算符 + - * / % 逻辑运算符 & | ^ ~ && || ! 字符串连接运算符 + 增量和减量运算符 ++ ...

  4. 【读书笔记】C#高级编程 第七章 运算符和类型强制转换

    (一)运算符 类别 运算符 算术运算符 + - * / % 逻辑运算符 & | ^ ~ && || ! 字符串连接运算符 + 增量和减量运算符 ++ -- 移位运算符 < ...

  5. C语言指针类型 强制转换

    关于C语言指针类型 强制转换  引用一篇文章: C语言中,任何一个变量都必须占有一个地址,而这个地址空间内的0-1代码就是这个变量的值.不同的数据类型占有的空间大小不一,但是他们都必须有个地址,而这个 ...

  6. C#高级编程9-第7章 运算符和类型强制转换

    运算符和类型强制转换 1.运算符 运算符的简化操作 条件运算符: if-else的简化操作,也称三元运算符.如果条件为真,返回一个值,为假返回另外一个值. condition?true_value:f ...

  7. C# 运算符和类型强制转换(6) 持续更新

    C#支持的运算符 https://msdn.microsoft.com/zh-cn/library/6a71f45d(v=vs.140).aspx checked 和 unchecked ; b++; ...

  8. C#学习笔记二 (资源托管,泛型,数组和元组,运算符和类型强制转换)

     托管和非托管资源 1.托管资源是指GC管理的内存空间,非托管资源是指文件句柄,网络连接,数据库连接等. 2.方法中临时申请的变量,被存放在栈中.栈存储非对象成员的值数据.例如在方法中有B b=new ...

  9. Go 类型强制转换

    Go 类型强制转换 强制类型的语法格式:var a T = (T)(b),使用括号将类型和要转换的变量或表达式的值括起来 强制转换需要满足如下任一条件:(x是非常量类型的变量,T是要转换的类型) 1. ...

随机推荐

  1. 基本使用——OkHttp3详细使用教程

    基本使用——OkHttp3详细使用教程 转 https://blog.csdn.net/xx326664162/article/details/77714126 概述 OkHttp现在应该算是最火的H ...

  2. shell编程系列26--大型脚本工具开发实战

    shell编程系列26--大型脚本工具开发实战 大型脚本工具开发实战 拆分脚本功能,抽象函数 .function get_all_group 返回进程组列表字符串 .function get_all_ ...

  3. Flutter设置图片为正方形

    AspectRatio( aspectRatio:/, child:Image.network("src") )

  4. 报错:(未解决)Opening socket connection to server master/192.168.52.26:2181. Will not attempt to authenticate using SASL (unknown error)

    报错背景: CDH集群中,将kafka和Flume整合,将kafka的数据发送给Flume消费. 启动kafka的时候正常,但是启动Flume的时候出现了报错现象. 报错现象: DH--.cdh5./ ...

  5. 【NANO】引脚说明

    http://bbs.eeworld.com.cn/forum.php?mod=viewthread&tid=489650&page=1

  6. css样式圆角和一定的透明度

    css样式里可以用border-radius把div或图片变成带有一定圆角的,如果是div本身是正方形,设置圆角度是百分之五十,就是圆形. border-radius:值可以是具体的px数值,也可以是 ...

  7. 页面进行ajax时 显示一个中间浮动loading

    先发效果图,加载东西的时候如果没有设计或者其它提示会降低用户体验,所以写了个简单的loading弹层. 适用于触屏和pc页面. /* 页面进行ajax时 显示一个中间浮动loading @auther ...

  8. RSA算法理解

    RSA加密算法是最常用的非对称加密算法,CFCA在证书服务中离不了它.但是有不少新来的同事对它不太了解,恰好看到一本书中作者用实例对它进行了简化而生动的描述,使得高深的数学理论能够被容易地理解.我们经 ...

  9. SELinux安全子系统的学习

    SELinux(Security-Enhanced Linux)是美国国家安全局在 Linux 开源社区的帮助下开发的 一个强制访问控制(MAC,Mandatory Access Control)的安 ...

  10. 2019.10.28 IDEA入门指南(很多人问补充一篇)

    Idea快速入门指南 1.安装 1.1.安装 我们使用的是最新的2017.3.4版本: 双击打开, 选择一个目录,最好不要中文和空格: 然后选择桌面快捷方式,请选择64位: 然后选择安装: 开始安装: ...