2011-08-23 58 views
3

可能重複的名字:
PHP $_POST print variable name along with value得到變量後

我有一個表格(字段的任何數字)..這種形式將發送$ _ POST數據..我想返回每個$ _POST變量的值和名稱。

我想要做的soemthing是這樣的:在的方式,將顯示的字段和這樣的價值觀

foreach($_POST as $field){ 
    //****some code*****// 
} 

名稱:西莫塔基
電子郵件:例如@ ymail。 COM

換句話說

,如果我有一個帖子變量:$ _ POST [「城市」] =「拉斯維加斯」

我想知道如何獲得變量的名稱:「城市」。

回答

15

$_POST填充爲關聯數組,所以你可以這樣做:

foreach ($_POST as $name => $val) 
{ 
    echo htmlspecialchars($name . ': ' . $val) . "\n"; 
} 

此外,如果你在字段名稱只是有興趣,你可以使用array_keys($_POST);返回所有的數組鑰匙用於$_POST。您可以使用這些鍵來引用$_POST中的值。

foreach (array_keys($_POST) as $field) 
{ 
    echo $_POST[$field]; 
} 
+4

如果這是在HTML頁面中,我會在打印這些值之前將它們轉義出來:'echo htmlspecialchars(「{$ name}:{$ val} \ n」);' – arnaud576875

+0

謝謝朋友,它解決了:-) – SmootQ

+0

你實際上推薦封裝雙引號內的變量,沒有理由? – AlienWebguy

6

使用擴展的foreach語法:

foreach ($_POST as $key => $value) 
{ 
    echo $key . ": ". $value . "\n"; 
} 
+1

+1得到一個堅實的答案。 – AlienWebguy

+1

這是最好的答案。 – Maverick

+0

我可以使用這種方法用於單選按鈕組嗎?正如你所知道的單選按鈕,我們只需要發佈選定的單選按鈕? – Furkan

0

我不同意這個職位,因爲它假定輸出始終用於瀏覽器。人們不應該養成這種習慣。 \ n是正確的用法,可以在使用nl2br()函數輸出(到瀏覽器)之前輕鬆轉換。

+0

對不起,上面的是AlienWebGuy –