<返回更多

「PHP基础知识」隐式数据类型

2022-08-03    夜晚回家
加入收藏
功能要求
隐式数据类型转换演示。
实例代码
隐式类型转换
//隐式类型转换
$a = 10;
$b = &#34;string&#34;;
$c = $a.$b;
echo &#39;$c = &#39;.$c.&#34;
&#34;; // 输出10string
$str1 = &#34;1&#34;; //$str1字符串类型
$str2 = &#34;ab&#34;; //$str2字符串类型
$num1 = $str1 + 5; //$num2的结果是整型(6)
echo &#39;$num1 = &#39;.$num1.&#34;
&#34;;
$num2 = $str1 + 2.56; //$num3的结果是浮点型(3.56)
echo &#39;$num2 = &#39;.$num1.&#34;
&#34;;
$num3 = $str1 + $str2; // 出现错误
echo &#39;$num3 = &#39;.$num3.&#34;
&#34;;
$str2 = &#34;2ab&#34;;
$num3 = $str1 + $str2;
echo &#39;$num3 = &#39;.$num3.&#34;
&#34;;
?>
运行结果
图片
知识说明
php数据类型之间的转换有隐式类型转换(自动类型转换)和显示类型转换(强制类型转换)两种。PHP中隐式数据类型转换很常见。
$a.$b:在连接操作前,$a是整数类型,$b是字符串类型。连接操作后,$a隐式(自动)地转换为字符串类型。
PHP隐式类型转换的另一个例子是加号“+”。如果一个数是浮点数,则使用加号后其他的所有数都被当作浮点数,结果也是浮点数;否则,参与“+”运算的运算数都将解释成整数,结果也是一个整数。
$num2 = $str1 + 2.56:由于$str1 = &#34;1&#34;在执行“$num2 = $str1 + 2.56”语句时,会将字符串“1”转换为浮点数1.0。
$num3 = $str1 + $str2:由于$str1 = &#34;1&#34;,$str2 = &#34;ab&#34;,在执行“$num3 = $str1 + $str2”时,会将字符串“1”转换为整数1,但字符串“ab”无法转转换为数字类型,因此会出现“A non-numeric value encountered in ……”的错误提示信息。
echo &#39;$num3 = &#39;.$num3.&#34;
&#34;;:在输出$num3时,只会把$str1转换后的值输出。
$str2 = &#34;2ab&#34;;:从新为$str2赋值为字符串“2ab”,即字符串以数字开头
$num3 = $str1 + $str2;:由于$str1 = &#34;1&#34;,$str2 = &#34;2ab&#34;,在执行“$num3 = $str1 + $str2”时,会将字符串“1”转换为整数1,字符串“2ab”转换为数字类型时,只转换以数字开头的数字部分,因此$num3 = 1 + 2 = 3。
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>