[TOC]
>[success] 變量是存儲信息的容器
**弱類型語言PHP**
PHP是一種弱類型語言。在大多數編程語言中,變量只能保持一種類型的數據,而且這個類型必須在使用變量前聲明,例如C語言中。而在 PHP中,變量的類型通常不是由程序員設定的,確切地說,是根據該變量 使用的上下文在運行時(即變量的值)決定的。
## 創建 PHP 變量
### PHP 變量規則
1. 變量以 $ 符號開頭,其后是變量的名稱
2. 變量名稱必須以字母或下劃線開頭
3. 變量名稱不能以數字開頭
4. 變量名稱只能包含字母數字字符和下劃線(A-z、0-9 以及 _)
5. 變量名稱對大小寫敏感($y 與 $Y 是兩個不同的變量)
6. 變量名一定要通俗易懂,如: $orderId 或者 $order_id
>[danger] 注釋:PHP 變量名稱對大小寫敏感!
~~~
<?php
$var = "Bob";
$Var = "Joe";
echo "$var, $Var"; // 輸出 "Bob, Joe"
$4site = "not yet"; // 非法變量名;以數字開頭
$_4site = "not yet"; // 合法變量名;以下劃線開頭
$i站點is = "mansikka"; // 合法變量名;可以用中文
?>
~~~
## 常用輸出函數
### echo
`echo` — 輸出一個或多個字符串
~~~
<?php
echo "Hello World";
?>
~~~
### var_dump
`var_dump` — 打印變量的相關信息
~~~
<?php
$v = "xuebingsi";
var_dump($v);
?>
~~~
## 變量的賦值
### 傳值賦值
把一個值存儲到一個變量中。
~~~
<?php
$v = "xuebingsi";
?>
~~~
### 傳址賦值(引用賦值)
一個變量引用另外一個變量的地址,通過&實現。
~~~
<?php
$a = 1;
$b = &$a;
$a = 7;
echo $b; //輸出結果為7
?>
~~~
### 可變變量
有時候使用可變變量名是很方便的。就是說,一個變量的變量名可以動態的設置和使用。一個普通的變量通過聲明來設置,例如:
~~~
<?php
$a = "hello";//普通變量
$$a = "world";//可變變量
echo $hello; //輸出結果為world
?>
~~~
## 來自 PHP 之外的變量
在實際業務中,我們經驗需要跟腳本進行交互,當一個表單提交給 PHP 腳本時,表單中的信息會自動在腳本中可用。這些外部數據或變量保存在一種特殊的全局數組中。
### $_GET
通過 URL 參數傳遞給當前腳本的變量的數組。
~~~
<?php
//訪問 http://127.0.0.1/test.php?id=30
$id = $_GET["id"];
echo $id; //輸出結果為30
?>
~~~
### $_POST
通過 HTTP POST 方法傳遞給當前腳本的變量的數組。
**一個簡單的 HTML 表單**
~~~
<form action="test.php" method="POST">
Name: <input type="text" name="username"><br />
Email: <input type="text" name="email"><br />
<input type="submit" name="submit" value="Submit me!" />
</form>
~~~
**一個簡單的 HTML 表單**
~~~
<?php
// 自 PHP 4.1.0 起可用
echo $_POST["username"];
echo $_REQUEST["username"];
~~~
### $_REQUEST
默認情況下包含了 $_GET,$_POST 和 $_COOKIE(后面講)的數組。
## 變量用個常用的方法
| 函數名 | 作用 |
| --- | --- |
| isset | — 檢測變量是否設置 |
| empty | — 檢查一個變量是否為空 |
>[danger]練習:通過前端頁面Form表單提交數據,在PHP中接收表單推過來的數據,并且打印出來。
- 序言
- 第一章:準備工作
- 寫在學習之前的話
- web應用開發結構
- 開發工具/環境
- 第二章:展現層面(HTML/CSS)
- HTML簡介
- HTML基礎
- HTML編碼
- HTML鏈接
- HTML圖像
- HTML列表
- HTML表單
- HTML表格(分水嶺)
- HTML 實體
- HTML框架
- CSS層疊樣式表
- CSS選擇器
- CSS文本/字體
- CSS繼承和疊加
- CSS框模型
- CSS浮動(分水嶺)
- CSS定位
- CSS背景
- CSS圖標字體
- CSS補充
- 開發技巧
- 第三章:展現層面(Javascript)
- JS簡介
- JS實現
- JS輸出交互
- JS變量
- JS數據類型
- JS運算符
- JS流程控制(分水嶺)
- JS函數
- JS數組
- JS對象(分水嶺)
- JS數組對象
- JS字符串對象
- JS數學對象
- JS日期對象
- JS BOM對象(分水嶺)
- JS DOM對象
- JS事件對象
- JS元素對象
- JS DOM節點
- 第四章:展現層面(Jquery)
- JQ簡介
- JQ使用
- JQ選擇器
- JQ篩選
- JQ屬性
- JQ-CSS
- JQ事件
- JQ文檔處理
- JQ效果
- JQ-ajax
- 第五章:邏輯/業務層面(PHP)
- PHP簡介
- PHP變量
- PHP數據類型
- PHP常量
- PHP運算符
- PHP流程控制
- PHP函數(分水嶺)
- PHP日期
- PHP數學
- PHP數組
- PHP字符串
- PHP正則表達式(分水嶺)
- PHP目錄操作
- PHP文件
- PHP上傳/下載
- PHP面向對象(分水嶺)
- PHP圖像處理
- PHP會話控制
- Ajax異步處理
- PHPMysql擴展
- PHPMysqli擴展
- PHPPdo擴展
- PHP接口
- PHP命名空間
- 第六章:邏輯/業務層面(框架設計)
- 第七章:存儲層面(mysql)
- Mysql基礎
- Mysql Sql簡介
- Mysql數據庫
- Mysql數據類型
- Mysql數據表
- Mysql操作記錄
- Mysql查詢
- Mysql修改表結構
- Mysql日期與時間
- Mysql分組統計
- Mysql多表查詢
- Mysql安全
- Mysql存儲引擎
- Mysql事務
- Mysql視圖
- Mysql觸發器
- Mysql存儲過程
- Mysql存儲函數
- Mysql優化
- 第八章:服務器(Linux)
- Linux介紹與安裝
- Shell
- 目錄與文件操作
- VIM編輯器使用
- 帳號管理
- SUDO
- 權限控制
- 壓縮與打包
- 軟件安裝
- 計劃任務
- 進程管理
- 寶塔Linux面板