使用会话在 foreach 循环中取消设置数组值?
Unsetting array value in foreach loop with session?
谁能解释一下为什么 unset
函数在下面的代码中不起作用?
正如我所料,$_SESSION['card_nr'] = $card_nr;
存储了最后一个循环 $card_nr
但我希望它存储 card_nr 用户点击,这就是为什么我需要取消设置(ps。我做不想使用 GET)。
我测试了基于网络搜索的不同解决方案,包括。 stack overflow answers,但不能使下面的工作。
$task_array = array_combine($task_id_unique, $task_status);
foreach ($task_array as $card_nr => $card_status) {
$_SESSION['card_nr'] = $card_nr;
?>
<table>
<tr>
<th>Card nr.</th>
<th>Status</th>
</tr>
<td><?php
echo $card_nr;?></td>
<td><?php
if ($card_status == true) {
unset($task_array[$card_nr]);
echo "<a href=workcard.php>Open</a>";
}
else echo "Done ". $card_nr;?></td>
</table>
<?php }
我通过以下操作解决了我的问题:
elseif (mysql_num_rows($results)>= 1) {
echo "Customer: ". $customer. "<br>Active workcard:<br>";
$task_array = array_combine($task_id_unique, $task_status);
foreach ($task_array as $card_nr => $card_status) {
?>
<?php
if ($card_status == true) {
echo "<table><tr>";
echo "<th>Workcard nr.</th>";
echo "<th>Status</th></tr>";
echo "<td>".$card_nr."</td>";
echo "<td>";
echo "<form action='workcard_open.php' method='POST' >";
echo "<input type='hidden' name='card_nr' value='".$card_nr."' />";
echo "<input type='submit' value='Open' />";
echo "</td></form></table>";
}
?>
谁能解释一下为什么 unset
函数在下面的代码中不起作用?
正如我所料,$_SESSION['card_nr'] = $card_nr;
存储了最后一个循环 $card_nr
但我希望它存储 card_nr 用户点击,这就是为什么我需要取消设置(ps。我做不想使用 GET)。
我测试了基于网络搜索的不同解决方案,包括。 stack overflow answers,但不能使下面的工作。
$task_array = array_combine($task_id_unique, $task_status);
foreach ($task_array as $card_nr => $card_status) {
$_SESSION['card_nr'] = $card_nr;
?>
<table>
<tr>
<th>Card nr.</th>
<th>Status</th>
</tr>
<td><?php
echo $card_nr;?></td>
<td><?php
if ($card_status == true) {
unset($task_array[$card_nr]);
echo "<a href=workcard.php>Open</a>";
}
else echo "Done ". $card_nr;?></td>
</table>
<?php }
我通过以下操作解决了我的问题:
elseif (mysql_num_rows($results)>= 1) {
echo "Customer: ". $customer. "<br>Active workcard:<br>";
$task_array = array_combine($task_id_unique, $task_status);
foreach ($task_array as $card_nr => $card_status) {
?>
<?php
if ($card_status == true) {
echo "<table><tr>";
echo "<th>Workcard nr.</th>";
echo "<th>Status</th></tr>";
echo "<td>".$card_nr."</td>";
echo "<td>";
echo "<form action='workcard_open.php' method='POST' >";
echo "<input type='hidden' name='card_nr' value='".$card_nr."' />";
echo "<input type='submit' value='Open' />";
echo "</td></form></table>";
}
?>