PHP变量

Posted html55

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP变量相关的知识,希望对你有一定的参考价值。

1.php中变量的类型

 $age =12;

等同于如下

 

 

 

 如果新建的是一个null类型的数据呢?

$age = null;

 

 

 

 

 

 

2.变量的检测isset()

 

技术细节:2.1 isset函数可以是多个参数,同时检测变量存在与否,多个参数中有一个不存在的,都返回false

  

 

 2.2一旦变量unset后,就等同于把变量扔出花名册,所以是false

 

 

 

 2.3 更多isset情况见

https://www.cnblogs.com/html55/p/10515585.html

 

2.4 “同时要注意的是 null 字符("\\0")并不等同于 PHP 的 NULL 常量。”  文档上的这句话,不太理解是啥意思。。。网上查了下,是这样说的:如下:

NULL 字符是变量为空 $t = \'\'; 变量有值,不过是空,isset()是TRUE
NULL 常量是 $t = null; 变量没有值,连空都不是,isset()是FALSE

 

2.5 isset还可以检测数组中的某项

 1 <?php
 2     $a = array (
 3         \'test\' => 1, 
 4         \'hello\' => NULL, 
 5         \'pie\' => array(\'a\' => \'apple\')
 6     );
 7      
 8     var_dump(isset($a[\'test\']));            // TRUE
 9     var_dump(isset($a[\'foo\']));             // FALSE ,不存在或为null
10     var_dump(isset($a[\'hello\']));           // FALSE ,不存在或为null
11 
12     // 更深层次检测
13     var_dump(isset($a[\'pie\'][\'a\']));        // TRUE
14     var_dump(isset($a[\'pie\'][\'b\']));        // FALSE,不存在或为null
15     var_dump(isset($a[\'cake\'][\'a\'][\'b\']));  // FALSE,不存在或为null
16 
17 ?>

 

注意

 1 <?php
 2     $a = array (
 3         \'test\' => 1, 
 4         \'hello\' => NULL, 
 5         \'pie\' => array(\'a\' => \'apple\')
 6     );
 7     //array_key_exists 检测数组是否存在某个键值
 8         var_dump(array_key_exists(\'hello\', $a)); // TRUE,
 9         //注意$a["hello"]值为null,array_key_exists结果为true,而isset结果为false
10         var_dump(array_key_exists(\'kkk\', $a)); // false
11 
12 ?>                    

 

3.变量类型的检测gettype,或is_* 系列

 

注意:不要使用 gettype() 来测试某种类型,因为其返回的字符串在未来的版本中可能需要改变。此外,由于包含了字符串的比较,它的运行也是较慢的。使用 is_* 函数代替。

 

 

 

 

4.变量打印

字符串、数字用echo

echo true; //显示1 

echo false;//什么都不显示

数组用print_r

var_dump();更详细

 

5.变量类型的转化

php中变量类型是可以转换的,比较方便,最常见的是数字和字符串相互转,数字、字符串和布尔值相互转。

 5.1.字符串转数字

 1 <?php
 2 
 3 /**
 4 1.字符串转化为数字
 5   字符串参与运算的时候,自动转化为数字,那转化规则是?——从左到右截取,直到碰到不合法的数字时停止(注意php认为,小数点是合法的,但是%百分号是不合法的),截取出来的部分转成数字
 6   如:
 7   \'abcd3322\'    转成0
 8   \'3322abc\'        转成3322
 9   \'33.22ddd543\'    转成33.22
10   \'565%da\'        转成565
11 */
12 
13     $a = \'33%ddd543\'; //变量为字符串
14     var_dump($a+3);//int(36),php中变量自动转化
15 
16 ?>

 

5.2.数字转字符串

参与字符串拼接时,自动转化,比如123转为\'123\'

5.3到布尔型的转化

以下值都被当成布尔值的假:\'\',0,\'0\',0.0,false,null,array()  就是,空字符串,字符串0,数字0,数字零点零,false,null,空数组

 

<?php

    //如果在C和java中,空字符串和false是不能进行比较的
    //但是php中可以
    if (\'\' == false) {
        # code...
    }

?>

 

 

6.赋值分为传值赋值和引用赋值

细节如下:

https://www.cnblogs.com/html55/p/10577366.html

 7.动态变量名

就是一个变量的值另一个变量的变量名留个坑,主要应用在哪里

$$$abc

 

8.算术运算符

 

得到

 

以上是关于PHP变量的主要内容,如果未能解决你的问题,请参考以下文章

URL的PHP​​和哈希/片段部分

超级有用的9个PHP代码片段

将变量从 WordPress PHP 传递到 JavaScript

PHP必用代码片段

PHP 精度计算引发的灾难性Bug

PHP代码-psysh调试代码片段工具