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变量的主要内容,如果未能解决你的问题,请参考以下文章