【发布时间】:2019-04-12 22:25:55
【问题描述】:
我是一个菜鸟程序员,很抱歉,但我在从数组中删除一个值时遇到了问题。
在这里我foreach我的会话,如果添加了多个值,它是一个数组,我检查它是否是一个数组,如果它是我循环通过它并回显它。我创建了一个删除链接,该链接生成了一个 get id(key)。
foreach ($session->get('results') as $num => $value) {
if (!is_array($value)) {
echo $value . '<br>';
} else {
$av = count($value);
for ($a = 0; $a < $av; $a++)
echo $value[$a] . '<a href="export.php?key='. $num .'">verwijder</a><br>';
}
当点击链接时,它会生成一个get id,我检查是否设置了get id。现在我想取消设置与 get id 具有相同 $key 的值。
if (isset($_GET['key'])) {
if (is_array($value)) {
unset($value[$_GET['key']]);
}
}
此时,get id 已创建,但不会使用相同的键取消设置值。有人对此有答案,或有其他方法吗?
【问题讨论】:
-
您是否尝试过
as $num => &$value) {,使用&是对允许您更改它的值的引用。尽管由于stackoverflow.com/questions/4969243/strange-behavior-of-foreach,请记住在foreach()之后使用unset($value);。 -
刚试了一下,还是不行,谢谢热心人!
-
你能展示你最后一段的完整代码吗,这段代码如何适应循环等?
-
如果是 Laravel 使用 forget() 方法