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 字符("")并不等同于 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.算术运算符

得到

原文地址:https://www.cnblogs.com/html55/p/11796960.html