2011-07-03 53 views
5

例如,假設我將一些數據發佈到一個php文件中,但我不知道這些值的名稱是什麼。凡我通常會執行$_POST["username"]或類似的東西。我將如何去獲得內$_POST

回答

7

array_keys($_POST)將爲您提供數組密鑰。

你也可以做到這一點與關鍵名稱獲取值:

foreach ($_POST as $key => $value) 
{ 
    //do stuff; 
} 

但是!你爲什麼不知道這個帖子裏的鑰匙?你不希望黑客把隨機的東西放到帖子中,發送給你,然後處理掉。沒有什麼能夠阻止他們輸入1000個條目。

+0

嗨,感謝您的回覆,這不會成爲我正在構建的實際系統的一部分,它只會簡化我正在做的一些測試,而我更熟悉所有Ajax技巧jQuery可以做。 –

+1

@湯姆 - 祝你好運! – evan

7

使用array_keys所有的鍵/值對的列表,以獲得$_POST超級全局數組的所有鍵:

array_keys($_POST) 

簡單的例子:

foreach (array_keys($_POST) as $key) 
{ 
    print $_POST[$key]; 
} 
+1

'foreach'是壞的,因爲它必須遍歷所有元素兩次而不是一次。首先系統通過爲'array_keys()'構造一個新數組的數組,然後在'foreach()'中再次遍歷它。這是O(2n)操作,而不是O(n),因爲我只是在執行'foreach($ array as $ key => $ value)''。 – evan