国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP中extract函數各種用法介紹

2024-09-04 11:48:35
字體:
來源:轉載
供稿:網友

本文章詳細的介紹了關于PHP中extract函數各種用法介紹,從把數據變成變量,post,get數據處理等有需要的同學可參考一下.

直接上代碼,代碼如下:

  1. <?php 
  2. $my_array = array("a" => "Cat","b" => "Dog""c" => "Horse"); 
  3. extract($my_array); 
  4. echo "$a = $a; $b = $b; $c = $c"
  5. ?>  
  6. //輸出:$a = Cat; $b = Dog; $c = Horse  

沒有定義變量$a $b $c,也沒有賦值,為什么就可以可以獲取值了?

比方說,可以很方便的提取$_POST或者$_GET的元素,對表單提交上來的內容不能不用一一賦值,直接使用下面代碼.

form.html,代碼如下:

  1.  <form action="action.php" method="post"> 
  2. <input type="text" name="username"> 
  3. <input type="password" name="password"> 
  4. <input type="submit"> 

在action.php中只要使用extract()函數將$_POST全局數據解開.

action.php代碼如下:

  1. <?php 
  2. extract($_POST); 
  3. //相當于$username = $_POST['username']; 
  4. //$password = $_POST['password']; 
  5. ?> 

數組操作相關例子,代碼如下:

  1. <?php 
  2. /* 假定 $var_array 是 wddx_deserialize 返回的數組*/ 
  3. $size = "large"
  4. $var_array = array("color" => "blue"
  5. "size" => "medium"
  6. "shape" => "sphere"); 
  7. extract($var_array, EXTR_PREFIX_SAME, "wddx"); 
  8. echo "$color, $size, $shape, $wddx_sizen"
  9. ?> 
  10. //上例將輸出:blue, large, sphere, medium 

$size 沒有被覆蓋,因為指定了 EXTR_PREFIX_SAME,這使得 $wddx_size 被建立,如果指定了 EXTR_SKIP,則 $wddx_size 也不會被建立,EXTR_OVERWRITE 將使 $size 的值為“medium”,EXTR_PREFIX_ALL 將建立新變量 $wddx_color,$wddx_size 和 $wddx_shape.

數組2

1.適用范圍:非數字索引的數組,數組中有鍵值對;

2.函數創建的變量名是數組中的關鍵字,變量的值是數組中對應的值;

3.兩個可選參數:extract_type和prefix;

其中extract_type指定處理變量名沖突的方法,默認是EXTR_OVERWRITE,表示覆蓋已有的變量,當extract_type的值為EXTR_PREFIX_ALL時,給所有創建的變量前加上前綴,前綴為prefix參數提供;

4.數組中元素的關鍵字必須是有效的變量名,否則將被跳過.

實例,array_extract.php,代碼如下:

  1. <html> 
  2.     <head> 
  3.         <title>Test Array Extract</title> 
  4.     </head> 
  5.     <body> 
  6.         <?php 
  7.             $array = array('key1' => 'value1''key2' => 'value2''key3' => 'value3'); 
  8.             extract($array); 
  9.             echo 'Default:<br />'
  10.             echo "$key1 $key2 $key3<br />"
  11.              
  12.             //發生沖突時跳過一個元素 
  13.             $key1 = "abc"
  14.             extract($array, EXTR_SKIP); 
  15.             echo 'Skip:<br />'
  16.             echo "$key1 $key2 $key3<br />"
  17.  
  18.             //在所有變量名前加上由prefix參數提供的值 
  19.             extract($array, EXTR_PREFIX_ALL, 'my'); 
  20.             echo 'Prefix_All:<br />'
  21.             echo "$my_key1 $my_key2 $my_key3<br />"
  22.         ?> 
  23.     </body> 
  24. </html> 

是不是很方便呢?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 民权县| 南华县| 西畴县| 临城县| 辰溪县| 乳山市| 华池县| 肇源县| 威远县| 广昌县| 晋宁县| 西乌珠穆沁旗| 湖北省| 西昌市| 苍南县| 金乡县| 泰来县| 荔浦县| 郁南县| 苍山县| 呼伦贝尔市| 宜丰县| 游戏| 黑水县| 洮南市| 宕昌县| 南宫市| 浦北县| 小金县| 永宁县| 普兰县| 宁武县| 烟台市| 佳木斯市| 甘谷县| 长白| 乐业县| 东光县| 武穴市| 鸡西市| 睢宁县|