# 變量操作
[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