php中怎么转换变量的类型,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
NULL类型
php变量的类型是如何转换的?常量如何定义?系统常量
表示一个变量没有值。NULL类型唯一可能的值就是NULL
被认为是NULL的情况:
1 <?php 2 var_dump( $a ); // 1.变量没有声明 返回 NULL 3 4 $b; 5 var_dump( $b ); // 2.变量没有被赋值 返回 NULL 6 7 $c = 10; 8 unset( $c ); 9 var_dump( $c ); // 3.变量被销毁 返回 NULL 10 11 $d = null; 12 var_dump( $d ); // 4.变量被赋值为null 返回 NULL 13 ?>
is_null(),用来判断变量是否为空,如果是返回true,否则返回false。//你放进来的变量是null类型。
变量是否有定义 isset( 变量名 )
1) 变量未声明, 未赋值
2) 变量的值为 null
上面两种情况返回 false , 其他情况返回 true
变量是否为空 empty( 变量名 )
为空返回 true 不为空返回 false
为空的情况有 0 '' '0' false 空数组 null
变量的类型转换
php属性于弱类型语言, 变量的类型取决于它存放的数据, 数据类型改变了,变量的类型也就变了.
自动类型转换
1 <?php 2 var_dump( $a ); // 1.变量没有声明 返回 NULL 3 4 $b; 5 var_dump( $b ); // 2.变量没有被赋值 返回 NULL 6 7 $c = 10; 8 unset( $c ); 9 var_dump( $c ); // 3.变量被销毁 返回 NULL 10 11 $d = null; 12 var_dump( $d ); // 4.变量被赋值为null 返回 NULL 13 ?>
大多数情况下,会被转换为true, 转换为 false 的情况有:
1) 布尔值 false
2) 整数 0
3) 浮点数 0.0
4) 字串串 "" 和 "0"
5) 变量没有赋值或未定义
6) 空数组
7) NULL
其它情况为 true (真)
四则运算会把两边的内容自动转化为数值
1 <?php 2 echo '123' + '2ab'; // 123 + 2 = 125 3 echo '' + 5; // 0 + 5 = 5 4 echo true + false; // 1 + 0 = 1 5 6 echo '12e2ab' + 77; // 1200 + 77 = 1277 (注意) 7 ?>
变量的强制类型转换
gettype( 变量名 ) 获取变量的类型
settype( 变量名, 类型字符串 ) 设置变量的新类型
$a = (int)$b;
把$b的数据读取出来, 转化为 int 类型, 赋值给 $a, 注意, $b 没有改变.
可变变量
变量名前再加$. 变量名还是一个变量.
1 <?php 2 $a = 'b'; 3 $b = 'xxoo'; 4 echo $$a; // 相当于 echo $($a) => echo $b 所以输出 xxoo 这就是可变变量 5 ?>
引用变量
1 <?php 2 $a = 100; 3 $b = &$a; // $b 和 $a 将代表同一个容器, 所以改变$b的值, $a也就改变了 4 // & 称为取地址符 5 6 unset($a); 7 echo $b; // 销毁互为引用关系变量中的一个变量, 另一个仍然有效 8 // 销毁 $a 只是不让$a代表容器了, 容器本身还在, 还由$b代表 9 10 ?>
常量
定义赋值后, 存放的数据不能被修改、覆盖,也不能被销毁。
define( '常量名', 值);
常量可以参加运算.
常量名区分大小写, 习惯上用大写
1 <?php 2 echo xxoo; // 没有单引号,也没有双引号, 系统会尝试把它理解为一个常量 3 4 echo $arr[abc] // 方括号中没有引号, 系统也会尝试理解为常量 5 ?> defined('常量名') 判断一个常量是否存在.
关于php中怎么转换变量的类型问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。