PHP入门 - 数据类型的自动转换和强制转换

其他类型自动转布尔类型 :

1. 整型 和 浮点型 :
  • 0 和 0.0 都可以自动转换为布尔类型的 false .
  • 0以外的其他整型都是 true.
  • 0.0…..后面只要有 1 个非零的数字, 即为 true.
  • 非零开头的浮点类型的数值也全都为 true.
2. 字符串类型 :
  • 空字符串为 false . 里面只要有一个空格,都算 true 。
  • 字符串的0,也为 false 。
  • 其他的都为 true 。
3. 数组类型 :
  • 空数组为 false , 里面只要有一个值 , 就为 true .
4. null
  • 空也为 false .
5. 资源
  • 未声明成功的资源也为 false .
// 示例 : 

$a = 0.0;
if ($a) {
    echo "1true<br>";
} else {
    echo "1false<br>"; // 1false
}

$a2 = 0.000001;
if ($a2) {
    echo 'true2<br>'; // true2
} else {
    echo 'false2<br>';
}

其他类型的自动转换

boolean类型自动转数字类型 :
$a = 0.000;
$boolean1 = false;
var_dump($boolean1+$a); // float(0)
var_dump($boolean1 + 2); // int(2) --- false 转为了0
$boolean2 = true;
var_dump($boolean2 + 2); // int(3) --- true转为了1
var_dump($boolean1 + $boolean2); //  int(1) --- 0+1
var_dump($boolean1 + 0.02); //  float(0.02)
var_dump($boolean2 + 0.002); // float(1.002)

强制类型转换

其他类型强制转换为String : strval()
$boolean1 = false;
$boolean2 = true;
var_dump(strval($boolean1)); // string(0) ""
var_dump(strval($boolean2)); // string(1) "1"
其他类型强制转换为int : intval()
$float1 = 0.00223;
var_dump(intval($float1)); // int(0)
$string1 = '12345.33';
var_dump(intval($string1)); // int(12345)
其他类型强制转换为float : floatval()
$string1 = '12345';
var_dump(floatval($string1)); // float(12345)
$int1 = 123;
var_dump(floatval($int1)); // float(123)
强制转换 : settype(变量, 类型)
$float1 = 0.00223;
settype($float1, 'int');
var_dump($float1); // int(0)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值