php变量的类型是如何转换的?常量如何定义?系统常量是如何定义的?

11 篇文章 0 订阅

原创文章引自(https://www.ympfb.com/show-29-115-1.html
NULL类型
表示一个变量没有值。NULL类型唯一可能的值就是NULL

被认为是NULL的情况:

 
 1
<?php
2
    var_dump( $a );    // 1.变量没有声明     返回 NULL
34
    $b;                
5
    var_dump( $b );    // 2.变量没有被赋值   返回 NULL
6
  
7
    $c = 10;
8
    unset( $c );
9
    var_dump( $c );    // 3.变量被销毁     返回 NULL
1011
    $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
    if ( 变量或表达式 ){
3
       小括号中为true, 执行这里   // 小括号中的内容  会被自动转换为布尔型的 true 或 false
4
    }
5
?>

大多数情况下,会被转换为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
56
    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代表   
910
?>
  
 

常量
定义赋值后, 存放的数据不能被修改、覆盖,也不能被销毁。

define( ‘常量名’, 值);

常量可以参加运算.

常量名区分大小写, 习惯上用大写

 1
<?php
2
     echo  xxoo;    // 没有单引号,也没有双引号, 系统会尝试把它理解为一个常量
3
     
4
     echo  $arr[abc]  // 方括号中没有引号, 系统也会尝试理解为常量
5
?>
  

defined(‘常量名’) 判断一个常量是否存在.

系统常量

PHP_VERSION php程序的版本

PHP_OS php解析器的操作系统

LINE 获得当前的行号

FILE 文件的完整路径和文件名

DIR

文件所在的目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值