PHP EXTRACT函數將欄位變成變數的例子

來源:互聯網
上載者:User

PHP extract函數的作用是:函數從數組中把變數匯入到當前的符號表中。對於數組中的每個元素,鍵名用於變數名,索引值用於變數值。用extract函數一個技巧是可以把欄位變成變數,方便調用。


$info = $this->db->get_one(array('id'=>$specialid, 'disabled'=>0)); 

//將當前專題id所對應的欄位作為變數匯入到當前的符號表 

extract($info);

本例$info是從資料庫查出的結果,以數組的形式作為變數,鍵名是欄位名,值是欄位值,使用extract函數就把鍵名作為變數名,欄位值作為變數值了。

比如array(‘name’=>’zhangsan’,’sex’=>’man’,’id’=>3232);

那麼extract($array)後,就可以直接使用$name,$sex,$id了。

再看

<?php
$size = "old size"; //注意最後size變數的值。
$a = array(
"color" => "red",
"size" => "XXL",
"price" => "53");
extract($a);
echo "color = $color<br />";
echo "size = $size<br />";
echo "price = $price<br />";
?>


結果為:

color = red
size = XXL
price = 53

通過上例發現$size的值為XXL,而不是之前的”old size”,說明預設情況下當數組中的key與已有的變數衝突時,將覆蓋原來的變數。


例子

form.html

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

在action.php中只要使用extract()函數將$_POST全域資料解開:
action.php

<?php
extract($_POST);
//相當於$username = $_POST['username'];
//$password = $_POST['password'];
?>

是不是很方便呢?

extract的作用分析

addslashes -- 使用反斜線引用字串     

extract(addslashes($_POST)); --處理POST表單
    
把用戶端<FORM METHOD="POST"...>表單中的變數名取出來。     

extract(addslashes($_GET)); --處理GET表單     


把用戶端<FORM METHOD="GET"...>表單中的變數名取出來。  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.