## 數組變量導入符號表
> ### PHP extract(array,extract_rules,prefix) 函數
*說明*
extract() 函數從數組中將變量導入到當前的符號表。
_符號表是指當前php頁面中,所有變量名稱的集合,可以使用函數get_defined_vars()直接獲得當前所有已定義變量列表的多維數組_
該函數使用數組鍵名作為變量名,使用數組鍵值作為變量值。針對數組中的每個元素,將在當前符號表中創建對應的一個變量。
第二個參數 type 用于指定當某個變量已經存在,而數組中又有同名元素時,extract() 函數如何對待這樣的沖突。
該函數返回成功導入到符號表中的變量數目。
<table class="dataintable">
<tbody><tr>
<th style="width:20%;">參數</th>
<th>描述</th>
</tr>
<tr>
<td><i>array</i></td>
<td>必需。規定要使用的數組。</td>
</tr>
<tr>
<td><i>extract_rules</i></td>
<td>
<p>可選。extract() 函數將檢查每個鍵名是否為合法的變量名,同時也檢查和符號表中已存在的變量名是否沖突。對不合法和沖突的鍵名的處理將根據此參數決定。</p>
<p>可能的值:</p>
<ul class="listintable">
<li>EXTR_OVERWRITE - 默認。如果有沖突,則覆蓋已有的變量。</li>
<li>EXTR_SKIP - 如果有沖突,不覆蓋已有的變量。</li>
<li>EXTR_PREFIX_SAME - 如果有沖突,在變量名前加上前綴 <i>prefix</i>。</li>
<li>EXTR_PREFIX_ALL - 給所有變量名加上前綴 <i>prefix</i>。</li>
<li>EXTR_PREFIX_INVALID - 僅在不合法或數字變量名前加上前綴 <i>prefix</i>。</li>
<li>EXTR_IF_EXISTS - 僅在當前符號表中已有同名變量時,覆蓋它們的值。其它的都不處理。</li>
<li>EXTR_PREFIX_IF_EXISTS - 僅在當前符號表中已有同名變量時,建立附加了前綴的變量名,其它的都不處理。</li>
<li>EXTR_REFS - 將變量作為引用提取。導入的變量仍然引用了數組參數的值。</li>
</ul>
</td>
</tr>
<tr>
<td><i>prefix</i></td>
<td>
<p>可選。請注意 <i>prefix</i> 僅在 <i>extract_type</i> 的值是 EXTR_PREFIX_SAME,EXTR_PREFIX_ALL,EXTR_PREFIX_INVALID 或 EXTR_PREFIX_IF_EXISTS 時需要。如果附加了前綴后的結果不是合法的變量名,將不會導入到符號表中。</p>
<p>前綴和數組鍵名之間會自動加上一個下劃線。</p>
</td>
</tr>
</tbody></table>
*例子*
~~~
<?php
$a = "Original";
$my_array = array("a" => "Cat", "b" => "Dog", "c" => "Horse");
extract($my_array, EXTR_PREFIX_SAME, "dup");
echo "\$a = $a; \$b = $b; \$c = $c; \$dup_a = $dup_a";
?>
~~~
*輸出*
~~~
$a = Original; $b = Dog; $c = Horse; $dup_a = Cat
~~~
- 腦袋緩存
- 微信框架
- 案例展示
- 網絡營銷術語
- 打印控件
- 邏輯值交換律
- 常用網址
- 開發文檔類
- W3C
- PHP
- 算法
- RSA非對稱加密算法
- DES對稱加密算法
- SHA安全散列算法
- AES加密
- 跌了n倍再漲m倍回到原價
- 多條數據同時排序算法1
- 多條數據同時排序算法2
- 工具
- 視頻工具
- 音頻工具
- 電子書閱讀器
- PHP學習筆記
- 函數
- 文件系統函數
- 搜索函數
- 時間函數
- 獲取當前時間
- 變量處理函數
- 獲取所有已定義變量
- 文本函數
- 文本替換
- ASSIC轉換
- 文本截取
- 大小寫轉換
- 二進制比較字符串
- 數組函數
- 定義數組
- 數組變量導入符號表
- 數組排序
- 數組與字符串轉換
- 數學函數
- 進制轉換
- 配置常用項
- 短標記
- PHP內置WebServer
- 數據庫擴展
- 抽象層PDO
- 連接管理
- 執行SQL命令
- 預處理
- MYSQL擴展
- 連接管理
- 選擇數據庫
- 清除BOM
- bashShell筆記
- vim基礎
- 常用指令
- 用戶操作
- 網絡配置
- 文件權限
- Markdown筆記
- 編輯器&閱讀器
- 看云
- mackpad
- 語法
- 轉義字符
- git學習筆記
- 常用命令
- 基本命令
- 遠程命令
- 創建倉庫
- 修改配置
- 存檔工作區
- WEB服務器
- 服務器技術的發展
- rewrite
- Go語言
- 在線開發環境
- bootstrap學習筆記
- 布局柵格
- CSS學習筆記
- 圓角
- 強制不換行
- 帶透明度的顏色值rbga
- 漸變動畫
- 滾動條控制
- 漸變過渡
- 透明度
- 背景漸變
- MYSQL筆記
- 字段類型
- SQL命令
- 用戶管理-權限
- 重載用戶權限
- 修復表格
- 優化表格
- 替換
- 編輯字段
- 庫表的基本操作
- 環境變量
- 連表刪除
- HybridApp
- 開發框架
- 即時通訊架構
- 網易云信
- 消息推送
- 消息推送協議
- 第三方消息推送方案
- javascript
- json與字符串互解析
- 大小寫轉換
- jQuery序列化表單
- 判斷是否移動端
- 獲取url中的參數
- 獲取格式化的日期
- jQuery操作checked
- js實現繼承
- 難點講解
- json排序
- 特殊算法
- cookie操作
- 原生的touch事件
- HTML
- 視頻標簽
- zyMedia視頻插件
- 百度地圖URI
- DEDE織夢筆記
- 水印無效
- 支付
- nodejs
- 常用命令
- NPM