关于PHP数据类型的转换

2019年09月18日 17:31:48 黎建湛
原文链接 :
链接:http://note.youdao.com/noteshare?id=31e75f25d8edcc65e995388367333002&sub=25FD6C1C150F4FEDAE3788417BDC2D19

众所周知,PHP是一门基于解释器进行编译的弱类型脚本编程语言,所谓的弱类型不是说它本身这门语言的弱,而是这门语言对于其他的编译语言来说,不考虑数据类型转换的,会自动处理数据类型之间的转换。
说到这里,我最近的项目中遇到了有关PHP类型的转换问题,值得注意的是,为什么会想起这个问题呢?就要从我公司的项目来说起,由于我开发的项目,包括自研框架,组织架构,常用的函数库都是公司封装好的,适用于微信开发平台的中大型项目。
回归正题,我在开发项目时,遇到一个BUG,反反复复的看后台的业务接口,分页封装类,核心函数库,核心类文件,包括前端,断点调试都没有发现问题,找个半天愣是工作没有进展。突然,查看参数类型时候,发现原来是数据类型转换的问题,我一下子懵了。
看了下项目,思考了一番,项目中并没有让我们开发者遵守的严格模式。这个大意,让我觉得即使是PHPer,程序员对于数据类型转换方面也要注意起来。
源码:

<?php
$page = (int) $page;
var_dump($page);

PHP数据类型有三种强制类型转换方式:
1.在要转换的变量之前加上用括号括起来的目标类型
使用(int),(bool),(float),(string),(array),(object)
2.使用3个具体类型的转换函数,intval()、floatval()、strval()
使用intval(),floatval(),strval()
3.使用通用类型转换函数settype(mixed var,string type)
使用 settype(); 注意:使用settype(变量,类型) 直接改变量本身。

强制类型转换的优点:
1.使用get方式进行参数传递时的,非法用户可能会进行恶意篡改,你就需要将他强制转化成int型,保证程序的安全性
2.在高并发应用场景中,保障系统能够平稳运行。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值