我有一个由用户输入填充的关联数组。然后我将该数组设置为会话变量,以便每次输入新输入时都可以在数组顶部添加。
警告:为foreach()提供的参数无效
<?php session_start(); ?>
<h1>
<?php
foreach ($_SESSION['formOneArrayGlobal'] as $x => $xValue) {
echo $x . $xValue;
}
?>
</h1>
<form action="send.php" method="post" name="form-one">
<input type="text" name="name">
<input type="text" name="number">
<button type="submit">Submit</button>
</form>
<?php
session_start();
try {
if (!empty($_POST['form-one'])) {
$variableOne = $_POST['name'];
$variableTwo = $_POST['number'];
$formOneArray[$variableOne] = $variableTwo;
$_SESSION['formOneArrayGlobal'] = $formOneArray;
} catch(Exception $e) {
echo $e;
}
?>
答案 0 :(得分:1)
如果$_SESSION['formOneArrayGlobal']
if(isset($_SESSION['formOneArrayGlobal']) && !empty($_SESSION['formOneArrayGlobal'])){
foreach ($_SESSION['formOneArrayGlobal'] as $x => $xValue) {
echo $x . $xValue;
}
}
答案 1 :(得分:0)
我宁愿直接检查你存储的变量的值是否真的是一个数组。只检查它是否为空并不能真正帮助你,如果它是一个字符串,例如你仍然会得到你的警告。
if (is_array($_SESSION['formOneArrayGlobal'])) {
foreach ($_SESSION['formOneArrayGlobal'] as $x => $xValue) {
echo $x . $xValue;
}
}