2 回答

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
extract() : 從數(shù)組中將變量導(dǎo)入當(dāng)前符號(hào)表
$a = ['name' => 'A',
'cuisine' => 'B',
'location' => 'C',
'price' => 12.3
];
extract($a,EXTR_OVERWRITE);// Please see manual to use `flags` accordingly
echo $name.'--'.$cuisine.'--'.$location.'--'.$price;
工作演示:https ://3v4l.org/APqoE

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
根據(jù)您的問(wèn)題和示例,我希望我能做到您想要的。您希望用戶最近發(fā)布的每個(gè)表單輸入都有一個(gè)字符串。
你的例子:
foreach($_POST as $key=>$value){
$_SESSION['post'][$key]=$value;
}
但由此您無(wú)法實(shí)際識(shí)別數(shù)組位置中 $key 的實(shí)際索引位置。它還可能包含您不需要的所有其他鍵值,因?yàn)槟诓东@所有輸入。那么為什么不這樣做呢?
if ($_POST['your-form']) {
$array = [
'name' => isset($_POST['name']) ? stripslashes($_POST['name']) : '',
'cuisine' => isset($_POST['cuisine']) ? stripslashes($_POST['cuisine']) : '',
'location' => isset($_POST['location']) ? stripslashes($_POST['location']) : '',
'price' => isset($_POST['price']) ? stripslashes($_POST['price']) : '',
];
// now bind to session.
$_SESSION['temp'] = $array;
}
現(xiàn)在,對(duì)于您在回調(diào)期間需要的字符串,只需:
list($name, $cuisine, $location, $price) = $_SESSION['temp'];
var_dump($name);
var_dump($cuisine);
var_dump($location);
var_dump($price);
編輯:基于評(píng)論。
我們做得到。
function set_value($post_key) {
$val = isset($_POST[$post_key])) ? stripslashes($_POST[$post_key]) : '';
if (!empty($val)) {
$_SESSION['temp'][$post_key] = $val; // store into session.
}
}
function get_value($post_key) {
return isset($_SESSION['temp'][$post_key]) ? $_SESSION['temp'][$post_key] : NULL;
}
因此,使用這兩個(gè)功能,您可以隨時(shí)實(shí)現(xiàn)。這里有一套。
if (isset($_POST['form_name'])) {
set_value('cuisine'); // will store into session.
}
$cuisine = get_value('cuisine');
- 2 回答
- 0 關(guān)注
- 182 瀏覽
添加回答
舉報(bào)