【问题标题】:Delete the value out of an array从数组中删除值
【发布时间】: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 =&gt; &amp;$value) {,使用&amp; 是对允许您更改它的值的引用。尽管由于stackoverflow.com/questions/4969243/strange-behavior-of-foreach,请记住在foreach()之后使用unset($value);
  • 刚试了一下,还是不行,谢谢热心人!
  • 你能展示你最后一段的完整代码吗,这段代码如何适应循环等?
  • 如果是 Laravel 使用 forget() 方法

标签: php arrays session unset


【解决方案1】:
$session->get('results') as $num => $value

$num$session-&gt;get('results') 中元素的键

你的链接 -> &lt;a href="export.php?key='. $num .'

如果你想用这个键删除值unset($session-&gt;get('results')[$_GET['key']])

【讨论】:

  • 我自己想到了这个,但我得到的结果与我使用unset($value[$_GET['key']])时的结果相同,它仍然不会取消它
猜你喜欢
  • 1970-01-01
  • 2012-07-22
  • 2016-04-06
  • 2017-03-16
  • 1970-01-01
相关资源
最近更新 更多