【发布时间】:2016-07-04 22:55:11
【问题描述】:
我有一个表单,允许用户输入姓名和相关的出生日期。
该表单允许用户动态添加更多姓名和出生日期。
我想将此数据推送到关联的数组 $_SESSION 变量中,然后循环遍历它。
<form action="page.php">
<input type="text" name="child[0][name]" value="Name">
<input type="text" name="child[0][dob]" value="Date of Birth">
<input type="submit" value="Submit">
</form>
//trying to save the posted data to a SESSION
$_SESSION['children'] = [];
if (isset($_POST['child'])) {
foreach ($_POST['child'] as $value) {
array_push($_SESSION['children'], $value['name']);
array_push($_SESSION['children'], $value['dob']);
}
}
SESSION 中的循环会是什么样子以读取我的数据:
Peter Smith born on 11/11/1900
Sally Smith born on 11/22/2222
当我 print_r($_SESSION):
Array ( [0] => Peter Smith [1] => 11/11/1900 [2] => Sally Smith [3] => 11/22/2222 )
【问题讨论】:
-
不要忘记索引,
child[0]以便每个都可以分组 -
您的阵列组织似乎是个坏主意。您不应将名称和 DOB 放在数组中的单独条目中,而应将它们组合成单个对象或关联数组。
-
为什么需要循环?直接分配
$_SESSION['children'] = $_POST['child'] -
@FirstOne 继续,没有问题,不需要归属或任何东西