我目前使用以下格式從HTML表單$item_name=$_POST['item_name'];
這節省了值保存的值保存價值和名稱,但如何我還保存名稱屬性中的變量?
在此先感謝!
我目前使用以下格式從HTML表單$item_name=$_POST['item_name'];
這節省了值保存的值保存價值和名稱,但如何我還保存名稱屬性中的變量?
在此先感謝!
假設你要存儲$ _ POST變量的每個元素作爲鍵值對,那麼你可以嘗試:
$var = array();
foreach($_POST as $key => $val) {
$var[$key] = $val;
}
maye您注意到您必須使用該名稱才能訪問$_POST
陣列並獲取該值。如果您想將名稱存儲在一個變量,也只是做:
$item_name_name = 'item_name';
$item_name_value = $_POST[$item_name_name];
你可以也使用某種循環與像這樣根據名稱動態地創建變量:
foreach($_POST as $name => $value){
$$name = $value;
}
這兩種方式在我看來都是不必要的和無用的,但是你沒有說明你到底想要達到什麼目的 - 所以這也許有幫助。
的另一種方法:
$keysarray = array_keys ($_POST);
print_r($keysarray);
這會給你一切排列中的鍵
您正在尋找的功能叫做extract。
這將爲數組中的所有$key=>$val
對創建變量。
$_EXAMPLE = array('bird' => 'chicken', 'dog' => 'greyhound');
export($_EXAMPLE);
echo $bird; # prints "chicken"
echo $dog; # prints "greyhound"
當心雖然 - 這是一個巨大的安全隱患。其他一些答案中描述的解決方案也是如此。
這樣做的問題是用戶可以篡改POST數據,並設置她應該設置的參數以外的參數。如果他們在您的應用程序中設置變量名稱實際上是變量名稱,則可以覆蓋。
$is_admin = false;
$_EXAMPLE = array('bird' => 'chicken', 'dog' => 'greyhound', 'is_admin' => 'true');
export($_EXAMPLE);
if ($is_admin) { # this will now evaluate to true.
# do sensitive stuff...
}
我節省了很多價值,並希望避免打字每一個出來。
請把你的頭腦放在第一位。
全局變量爲意圖需要手動輸入。
如果您想要一些自動化處理 - 只需將它們保存爲一個數組形式。
看起來像rdt.exe的答案是你在找什麼。
名稱屬性是$ _POST的關鍵 – piotrekkr 2011-12-15 07:41:18
`$ item_name_name ='item_name'`?你可以擴展更多你想做的事情嗎? – 2011-12-15 07:41:26