# 变量操作
[TOC]
## 获取变量值
当创建一个变量并且赋值后,此时我们应该如何去获取这个变量的值呢?PHP为我们提供了几个函数与一个语句。
echo,print\_r,var\_dump都可以打印变量,他们的区别是什么呢?
```
<?php
echo $a; # 只能输出字符串的内容
pinrt_r($a); # 可以打印出复杂类型变量的值(如:数组,对象)
var_dump($a); # 输出变量的内容、类型或字符串的内容、类型、长度
```
## 可变变量
可变变量是指该变量的名称由另外一个变量的值来确定。换句话,**一个变量的变量名又是一个变量的情况**
```
<?php
$a = 'b';
$b = 'c';
$c = 100;
echo $$$a;
# 解析:我们可以先把前面二个$$不看那么$a='b'加上$$就等于$$b,$$b=$c,$c=100;结果为:100
```
## 变量操作三剑客
isset():判断变量是否存在,若变量不存在则返回FALSE,若变量存在且其值为NULL,也返回FALSE,若变量存在且值不为NULL,则返回TURE,isset()只能用于变量,传递任何其它参数都将造成解析错误
empty():判断变量是否为空,如果是非空或非零的值,则 empty() 返回 FALSE。换句话说,“”、0、0.0、“0”、NULL、FALSE、array()、未赋值变量,则返回 TRUE,empty()只能用于变量,因为传递任何其它参数都将造成解析错误
unset():删除变量,使用 unset() 销毁一个变量后,变量的值将变成NULL。使用 isset() 测试的结果为false
>[danger] 注意:删除变量,只是删除变量名,并且断开到变量值之间的引用而已,而变量值还在,该变量值将变成垃圾,由系统自动进行回收处理,PHP在执行完毕后自动回收
```
<?php
$a = 0;
if(isset($a))
{
echo '存在';
}else{
echo '不存在';
}
# 结果:存在,0 != NULL 只有值为NULL才返回false
if(empty($a))
{
echo '真';
}else{
echo '假';
}
# 结果:真 非空或者非零才返回false
```
- 基础
- 安装PHP
- 语言基础
- 变量
- 变量操作
- 超全局数组变量
- 变量作用域
- 变量传值方式
- 常量
- 数据类型
- 运算符
- 流程控制
- 文件包含
- 错误处理
- 字符串操作
- 数组
- 函数
- 进阶
- 面向对象
- 提高
- TP
- 安装项目
- 框架基础知识
- 命令创建模块
- URL生命周期
- 路由操作
- Request请求类
- 参数绑定
- 依赖注入
- 模板操作
- 查询操作
- 添加操作
- laravel
- ☆目录结构
- CSRF攻击
- ☆路由
- ☆控制器
- ☆请求类
- ☆视图
- ☆模板继承
- ☆表单验证
- ☆DB类
- ☆模型
- ☆数据库迁移
- 类型、修饰、索引
- ☆数据填充
- ☆数据分页
- ☆session处理
- ☆中间件
- ☆缓存操作
- ☆文件上传
- ☆接口操作
- ☆扩展插件
- restful
- 工作
- 工作记录
- QQ登录
- 新浪登录
- 微信登录
- sphinx搜索
- 数据库
- MySQL
- ☆数据库操作
- ☆数据表操作
- ☆数据的操作
- 待修改
- 优化
- 存储引擎选择
- 列表类型选择
- 范式
- 慢日志查询
- 精准时间记录查询
- 计划任务 explain
- 索引
- 索与事务
- 查询缓存
- 存储过程
- 触发器
- 分区
- 分表
- sphinx
- 读写分离
- 搜索优化
- 网站静态化
- Memcache
- Mongodb
- Readis
- php使用redis
- 服务器
- Linux
- 目录结构
- 常用命令
- VIM编辑器
- 用户与用户组
- 权限管理
- 运行级别
- 网络模式
- ssh
- 软件安装
- 计划任务
- Ubuntu
- 编译PHP7.3
- 编译MySQL
- 编译Nginx
- apache虚拟机配置
- 安装composer
- Nginx
- Git