PHP类型转换

类型转换

  • PHP在编程语言中属于 弱类型语言
    C 在编程语言中属于 强类型语言

  • 强类型语言: 每声明一个变量,都需要先说明是哪个类型
    弱类型语言: 声明一个变量时, 不需要指定数据类型

  • 类型转换:

    • 自动类型转换 (隐式转换)

      • bool -> int

        true -> 1

        false -> 0

      • bool -> float
        true -> 1.0
        false -> 0.0

      • string -> int
        string -> float
        保留第一个字母之前的数字, 抛弃第一个字母及后面所有字符 (除了 第一个. 和第一个e 之外)

      • int -> float
        整数当小数算

    • 强制类型转换

      • 临时转换
        • 通过 运算符 来转换
          (int)变量
          (float)变量
          (string)变量
          (bool)变量
          (array)变量
          (object)变量
        • 通过 函数 来转换
          intval(变量)
          floatval(变量)
          boolval(变量)
          strval(变量)
      • 永久转换
        settype(变量, 类型)
<?php
error_reporting(0); 
var_dump( true + 10 ); // 11        true -> 1
var_dump( false + 10); // 10        false-> 0
var_dump( true + 10.5 ); // 11.5    true -> 1.0
var_dump( false + 10.5 );// 10.5    false -> 0.0
echo '<hr>';
// 保留第一个字母之前的数字, 抛弃第一个字母及后面所有字符 (除了 第一个. 和第一个e 之外)
var_dump( '100' + 200 ); // 300     '100' -> 100
var_dump( 'abc' + 200 ); // 200     'abc' -> 0
var_dump( '1a2b3c' + 200); // 201   '1a2b3c' -> 1
var_dump( 'a1b2c3' + 200); // 200   'a1b2c3' -> 0
echo '<hr>';
var_dump( '10.5' + 200 ); // 210.5  '10.5' -> 10.5
var_dump( 'a.b' + 200 );  // 200     'a.b' -> 0
var_dump( '10a.b' + 200 ); // 210
var_dump( '10.5a' + 200 ); // 210.5
var_dump( '1.2.3' + 200 ); // 201.2
var_dump( '2e3' + 200 ); // 2200
var_dump( '2e3e4' + 200 ); // 2200
var_dump( '2.5e3' + 200 ); // 2700
echo '<hr>';
var_dump( 10 + 0.5 ); // 10.5
?>       
<?php
$str = '落霞与孤鹜齐飞,秋水共长天一色';
var_dump( $str );
var_dump( (int)$str );
var_dump( (float)$str );
var_dump( (string)$str );
var_dump( (bool)$str );
var_dump( (object)$str );
var_dump( (array)$str );
// var_dump( (resource)$str );
// var_dump( (null)$str );
echo '<hr>';
var_dump( $str );
var_dump( intval($str) );
var_dump( floatval($str) );
var_dump( boolval($str) );
var_dump( strval($str) );
var_dump( $str );
echo '<hr>';
$str = '落霞与孤鹜齐飞,秋水共长天一色';
settype($str, 'int');
var_dump($str);
settype($str, 'string');
var_dump($str);
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值