当前位置:网站首页>「PHP基础知识」隐式数据类型
「PHP基础知识」隐式数据类型
2022-08-02 23:36:00 【夜晚回家】
功能要求
隐式数据类型转换演示。
实例代码
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>隐式类型转换</title>
</head>
<body>
<?php
//隐式类型转换
$a = 10;
$b = "string";
$c = $a.$b;
echo '$c = '.$c."<br />"; // 输出10string
$str1 = "1"; //$str1字符串类型
$str2 = "ab"; //$str2字符串类型
$num1 = $str1 + 5; //$num2的结果是整型(6)
echo '$num1 = '.$num1."<br />";
$num2 = $str1 + 2.56; //$num3的结果是浮点型(3.56)
echo '$num2 = '.$num1."<br />";
$num3 = $str1 + $str2; // 出现错误
echo '$num3 = '.$num3."<br />";
$str2 = "2ab";
$num3 = $str1 + $str2;
echo '$num3 = '.$num3."<br />";
?>
</body>
运行结果
知识说明
PHP数据类型之间的转换有隐式类型转换(自动类型转换)和显示类型转换(强制类型转换)两种。PHP中隐式数据类型转换很常见。
$a.$b:在连接操作前,$a是整数类型,$b是字符串类型。连接操作后,$a隐式(自动)地转换为字符串类型。
PHP隐式类型转换的另一个例子是加号“+”。如果一个数是浮点数,则使用加号后其他的所有数都被当作浮点数,结果也是浮点数;否则,参与“+”运算的运算数都将解释成整数,结果也是一个整数。
$num2 = $str1 + 2.56:由于$str1 = "1"在执行“$num2 = $str1 + 2.56”语句时,会将字符串“1”转换为浮点数1.0。
$num3 = $str1 + $str2:由于$str1 = "1",$str2 = "ab",在执行“$num3 = $str1 + $str2”时,会将字符串“1”转换为整数1,但字符串“ab”无法转转换为数字类型,因此会出现“A non-numeric value encountered in ……”的错误提示信息。
echo '$num3 = '.$num3."<br />";:在输出$num3时,只会把$str1转换后的值输出。
$str2 = "2ab";:从新为$str2赋值为字符串“2ab”,即字符串以数字开头
$num3 = $str1 + $str2;:由于$str1 = "1",$str2 = "2ab",在执行“$num3 = $str1 + $str2”时,会将字符串“1”转换为整数1,字符串“2ab”转换为数字类型时,只转换以数字开头的数字部分,因此$num3 = 1 + 2 = 3。
边栏推荐
- Cholesterol-PEG-Acid,胆固醇-聚乙二醇-羧基保持在干燥、低温环境下
- 嵌入式分享合集26
- Apache Doris 1.1 特性揭秘:Flink 实时写入如何兼顾高吞吐和低延时
- Rasa 3.x study series - Rasa - Issues 4792 socket debug logs clog up debug feed study notes
- 脂溶性胆固醇-聚乙二醇-叠氮,Cholesterol-PEG-Azide,CLS-PEG-N3
- js基础知识整理之 —— 获取元素和命名规范
- Heartwarming AI Review (1)
- Week 7 - Distributional Representations
- Jmeter二次开发实现rsa加密
- 2022第十一届财经峰会:优炫软件斩获双项大奖
猜你喜欢
优秀论文以及思路分析01
Jmeter二次开发实现rsa加密
js基础知识整理之 —— 五种输出方式
1 - vector R language self-study
谷歌 Chrome 浏览器 104 正式版发布:加快网页加载,蓝牙 API 改进
js基础知识整理之 —— 获取元素和命名规范
Test | ali internship 90 days in life: from the perspective of interns, talk about personal growth
我们来浅谈代码语言的魅力
嵌入式分享合集26
Connect the Snowflake of CKAN tutorial CKAN to release to open data portal
随机推荐
HVV红队 | 渗透测试思路整理
Swift中的类型相关内容
十年架构五年生活-03作为技术组长的困扰
有奖提问|《新程序员》专访“Apache之父”Brian Behlendorf
令人心动的AI综述(1)
ORA-55610: Invalid DDL statement on history-tracked table
Cholesterol-PEG-Acid,胆固醇-聚乙二醇-羧基保持在干燥、低温环境下
DataGuard日常维护常见问题之数据同步异常
Database auditing - an essential part of network security
漫画:怎么证明sleep不释放锁,而wait释放锁?
基于STM32设计的老人防摔倒报警设备(OneNet)
Jmeter二次开发实现rsa加密
机器学习-特征映射方法
Connect the Snowflake of CKAN tutorial CKAN to release to open data portal
如何修复 SAP UI5 aggregation with cardinality 0..1 相关的错误消息
2022暑假牛客多校1 (A/G/D/I)
nmap: Bad CPU type in executable
几种常见的跨域解决方法
我们来浅谈代码语言的魅力
fifa将采用半自动越位技术计算进球