热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php中数据类型强制转换_PHP教程

php中数据类型强制转换。PHP是一门松散类型的语言,不必对使用的变量做专门的定义,这给程序的编写带来很大的灵活与方便。但我们在程序编写过程中,需要知道
PHP是一门松散类型的语言,不必对使用的变量做专门的定义,这给程序的编写带来很大的灵活与方便。但我们在程序编写过程中,需要知道自己使用的变量是哪种类型的,因为变量始终有一种类型与之对应。尽管各类型之间几乎可以做自由的转换,如果随意使用或者转化变量类型,可能导致一些潜在的错误

PHP 中的类型强制转换和 C 中的非常像:在要转换的变量之前加上用括号括起来的目标类型:

代码如下

$foo = 10; // $foo 为整型
$bar = (boolean) $foo; // $bar 为布尔型
?>


类型转换
PHP 在变量定义中不需要(或不支持)明确的类型定义;变量类型是根据使用该变量的上下文所决定的。也就是说,如果把一个字符串值赋给变量 var,var 就成了一个字符串。如果又把一个整型值赋给 var,那它就成了一个整数。

PHP 的自动类型转换的一个例子是加号“+”。如果任何一个操作数是浮点数,则所有的操作数都被当成浮点数,结果也是浮点数。否则操作数会被解释为整数,结果也是整数。注意这并没有改变这些操作数本身的类型;改变的仅是这些操作数如何被求值以及表达式本身的类型。

类型强制转换
PHP 中的类型强制转换和 C 中的非常像:在要转换的变量之前加上用括号括起来的目标类型:

代码如下
$foo = 10; // $foo 为整型
$bar = (boolean) $foo; // $bar 为布尔型
?>

允许的强制转换有:

(int)或(integer) - 转换成整型
(bool)或(boolean) - 转换成布尔型
(float)或(double)或(real) - 转换成浮点型
(string) - 转换成字符串
(array) - 转换成数组
(object) - 转换成对象
另外,将一个变量还原为字符串,还可以将变量放置在双引号中:

数字换成字符转

代码如下

$foo = 10; // $foo 为整型
$str = "$foo"; // $str 为字符串
?>


在我们常用的字符串转换成整型有个超简单的方法

代码如下

$str=www.bKjia.c0m;
$int = intval($str);
这样$int=0;了哦。

当一个字符串被当作数字来求值时,根据以下规则来决定结果的类型和值:

如果包括“.”,“e”或“E”其中任何一个字符的话,字符串被当作 float 来求值,否则就被当作整数
该值由字符串最前面的部分决定。如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零)。合法数字数据由可选的正负号开始,后面跟着一个或多个数字(可选地包括十进制分数),后面跟着可选的指数。指数是一个“e”或者“E”后面跟着一个或多个数字
例子:

代码如下

$foo = 1 + "10.5"; // $foo为浮点型:11.5
$foo = 1 + "-1.3e3"; // $foo 为浮点型:-1299
$foo = 1 + "bob-1.3e3"; // $foo 为整型:1
$foo = 1 + "bob3"; // $foo为整型:1
$foo = 1 + "10 Small Pigs"; // $foo为整型:11
$foo = "10.0 pigs " + 1; // $foo 为浮点型:11

?>

由于php无需在数据使用时定义变量所以我们可以灵活的定义变量,同时也可以灵活的转换数据类型。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/629165.htmlTechArticlePHP是一门松散类型的语言,不必对使用的变量做专门的定义,这给程序的编写带来很大的灵活与方便。但我们在程序编写过程中,需要知道...


推荐阅读
  • 本文旨在提供一套高效的面试方法,帮助企业在短时间内找到合适的产品经理。虽然观点较为直接,但其方法已被实践证明有效,尤其适用于初创公司和新项目的需求。 ... [详细]
  • 本文探讨了使用C#在SQL Server和Access数据库中批量插入多条数据的性能差异。通过具体代码示例,详细分析了两种数据库的执行效率,并提供了优化建议。 ... [详细]
  • 解决FCKeditor应用主题后上传问题及优化配置
    本文介绍了在Freetextbox收费后选择FCKeditor作为替代方案时遇到的上传问题及其解决方案。通过调整配置文件和调试工具,最终解决了上传失败的问题,并对相关配置进行了优化。 ... [详细]
  • 在跨浏览器开发中,一个常见的问题是关于如何在鼠标悬停时显示图片提示信息。本文深入探讨了 IE 浏览器对 IMG 元素 alt 属性的特殊处理,并提供了最佳实践建议。 ... [详细]
  • 反向投影技术主要用于在大型输入图像中定位特定的小型模板图像。通过直方图对比,它能够识别出最匹配的区域或点,从而确定模板图像在输入图像中的位置。 ... [详细]
  • 本问题探讨了在特定条件下排列儿童队伍的方法数量。题目要求计算满足条件的队伍排列总数,并使用递推算法和大数处理技术来解决这一问题。 ... [详细]
  • 解决Anaconda安装TensorFlow时遇到的TensorBoard版本问题
    本文介绍了在使用Anaconda安装TensorFlow时遇到的“Could not find a version that satisfies the requirement tensorboard”错误,并提供详细的解决方案,包括创建虚拟环境和配置PyCharm项目。 ... [详细]
  • 如何将本地Docker镜像推送到阿里云容器镜像服务
    本文详细介绍将本地Docker镜像上传至阿里云容器镜像服务的步骤,包括登录、查看镜像列表、推送镜像以及确认上传结果。通过本文,您将掌握如何高效地管理Docker镜像并将其存储在阿里云的镜像仓库中。 ... [详细]
  • 查找最小值的操作是很简单的,只需要从根节点递归的遍历到左子树节点即可。当遍历到节点的左孩子为NULL时,则这个节点就是树的最小值。上面的树中,从根节点20开始,递归遍历左子 ... [详细]
  • 本文由杨勇和思远于2012年12月27日撰写,主要探讨了如何使用PHP进行网页内容抓取,特别是针对字符较多的网站。文章详细介绍了正则表达式失效的原因,并提供了优化方法,同时展示了如何抓取淘宝服饰栏、天气信息以及IP地址对应的地理位置。 ... [详细]
  • 在使用STM32Cube进行定时器配置时,有时会遇到延时不准的问题。本文探讨了可能导致延时不准确的原因,并提供了解决方法和预防措施。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • 本文介绍了MindManager在项目管理中的强大功能,特别是其内置的甘特图工具。通过该工具,用户可以轻松创建和管理项目计划,优化任务分配,并与其他软件无缝集成。 ... [详细]
  • 深入理解Lucene搜索机制
    本文旨在帮助读者全面掌握Lucene搜索的编写步骤、核心API及其应用。通过详细解析Lucene的基本查询和查询解析器的使用方法,结合架构图和代码示例,带领读者深入了解Lucene搜索的工作流程。 ... [详细]
  • 探讨在 JavaScript 中使用不同方向的 for 循环来实现跟随鼠标的 div 动画时,为什么会出现不同的视觉效果。 ... [详细]
author-avatar
mobiledu2502879663
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有