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

功能要求

隐式数据类型转换演示。

实例代码

<!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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜晚回家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值