2010-06-16 56 views
0

我有兩個以下文件:試圖在函數中使用PHP提取物()

main.php

include("functions.php") 
__EXTRACT(); 
echo $testvar; 

的functions.php

function __EXTRACT(){ 
extract($_POST, EXTR_SKIP); 
} 

然而,具有與形式一個名爲testvar的文本框我無法獲取提取函數來提取數據..如果我刪除函數調用並將提取語句直接插入到main.php中,它就可以工作。包含並不是一個問題,因爲其中的其他功能是有效的。有任何想法嗎?

乾杯

回答

3

你不能做到這一點:你的情況extract()創建變量__EXTRACT()功能,當函數結束這些變量都沒有了。

無論如何,使用extract()是非常少見的一個好主意。

+0

謝謝,但有什麼辦法做到這一點,所以它會創建函數外的變量? – grandnasty 2010-06-16 14:21:50

+0

直接使用'extract()',或者更好地使用'$ _POST'中的值而不提取它們。 – 2010-06-16 14:23:12

+0

呵呵,我知道$ _POST的用法是最好的,但這是用於快速原型製作的,只是想知道它是否可能。再次感謝。 – grandnasty 2010-06-16 14:29:20

0

你不想這樣做。這基本上只是在PHP中模擬register_globals。有一個原因,多年來一直默認關閉,並被刪除6 ...