从数组中删除值

Posted

技术标签:

【中文标题】从数组中删除值【英文标题】: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; 是对允许您更改它的值的引用。尽管由于***.com/questions/4969243/strange-behavior-of-foreach,请记住在foreach()之后使用unset($value); 刚试了一下,还是不行,谢谢热心人! 你能展示你最后一段的完整代码吗,这段代码如何适应循环等? 如果是 Laravel 使用 forget() 方法 【参考方案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']])时的结果相同,它仍然不会取消它

以上是关于从数组中删除值的主要内容,如果未能解决你的问题,请参考以下文章

从数组中删除值

如何从数组中删除空数组值(“”)?

如何使用jQuery从数组中删除特定值

js从数组中删除指定值(不是指定位置)的元素

js怎么从数组中删除指定值(不是指定位置)的元素?

从数组javascript中删除值[重复]