1.变量
变量是用来存储数据的容器。
变量命名规范:
- 以美元符号$开头
- 由字母、数字和下划线组成,但不能以数字开头
- 不能包含空格,严格区分大小写
- 可以使用中文,但是不推荐使用
- 变量必须先声明后使用,定义的变量名要起到见名知意的作用
note:虽然PHP变量名可以使用下划线开头,但是并不建议这样使用,应为PHP中以下划线开头的变量实际上通常是系统自带的变量。 |
2.可变变量
一个普通的变量通过声明来设置,也可以动态的设置和使用:
<?php
$a = 'Hello';
?>
一个可变变量获取了一个普通变量的值作为这个可变变量的变量名:
<?php
$$a = 'World!';
echo "$a $Hello";
?>
//输出:Hello World!
当遇到可变变量用于数组时($$a[1])有以下两种情况:
- $a[1]作为一个变量:${$a[1]}
- $$a作为一个变量取出索引[1]中的值:${$a}[1]
note:适当使用花括号来给属性吗清晰定界。 |
3.变量间的赋值方式
● 传值赋值
将变量的值复制出一份放到另一个变量中,两个变量各自指向自己的内存区域,修改值时两个变量之间互不影响。
<?php
$a = 1;
$b = $a;
echo $b;
$a = 3;
echo $a;
echo $b;
?>
//输出:1 1
3 1
● 引用赋值
在将要赋值的变量前加&,是将变量的引用复制出来一份,新的引用还是指向原来的值,不再开辟内存空间
<?php
$a = 1;
$b = 2;
$a = &$b;
echo $a;
echo $b;
$a = 3;
echo $a;
echo $b;
?>
//输出:2 2
3 3
4.变量相关函数
- echo 用于输出一个或多个字符串或变量
- print() 只能输出简单类型变量值,如int、string
- print_r() 输出复杂类型变量的值,如数组、对象
- var_dump() 打印变量类型和值
- isset() 检测一个变量是否被声明,返回true/false
- unset() 释放变量
<?php
//echo 用来打印字符串或者打印变量(不能打印数组)打印普通变量输出值的时候使用
//print_r 打印变量信息(一般用来打印数组) 打印数组的时候使用
//var_dump() 打印变量的相关信息(打印所有信息)要输出所有信息的时候才会使用 照妖镜 什么类型一照就出来
//普通变量
$a = '聪明伶俐花少北';
echo $a;
print_r($a);
var_dump($a);
//数组变量
$arr = array(1,2,3);
//echo $arr;
//print_r($arr);
var_dump($arr);
//检测变量是否被声明
$a = '张三李四王二麻';
echo $a;
var_dump(isset($a));
var_dump(isset($b));
//unset 释放变量
$c =100;
var_dump(isset($c));
unset($c);
var_dump(isset($c));
?>
5.数据类型
标量类型:Boolean、Integer、Float、String
复合类型:Array、Object
特殊类型:NULL、Resource
布尔型(Boolean):true/false(不区分大小写)
强制转换下,以下值被认为是false,未出现的值均为true:
- 布尔型:false
- 整型:0
- 浮点型:0
- 字符串:空字符串、0
- 数组:空数组
- 特殊类型:NULL
notes:使用echo打印值为true的变量,得到1;而使用打印值为false的变量,结果无内容,而非预想的0.
整型(Integer):负整数、0、正整数