问题标签 [array-unset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
61 浏览

php - 高级取消设置值形式数组 PHP

我有两个数组,由数组组成。我需要递归合并这些数组。但我需要多次执行此操作,并且

array_merge_recursive()

将附加我的数据两次,我想删除目标数组中已经存在的元素。$messages 数组:

$allCar 数组:

我写了一些代码:

然后,当我运行递归合并时,它会将相同的值附加到数组中。我做错了什么?

0 投票
6 回答
2384 浏览

php - 从数组中删除每个第 n 项

我想从数组中取消设置每隔一个项目。我不在乎键是否重新排序。

当然,我想要它快速而优雅。没有循环和临时变量是否可能?

0 投票
1 回答
167 浏览

php - 从数组中删除多个元素并重新索引

我可以删除前三个元素以及value不等于 2 的所有剩余元素吗?语言是php。

输出

我还需要重新索引,使其从 0 开始

0 投票
2 回答
1762 浏览

php - 根据字符长度删除数组元素

我有一个数组PHP

所以,

我想删除具有字符串长度的名称<=4

这样,按键就被调整了。

0 投票
1 回答
419 浏览

php - PHP 5.6 未设置 $_SESSION 子数组条目

我得到了以下功能:

正如评论所说,数组条目没有取消设置,array_key_exists()-function 仍然返回true,如果你var_dump($_SESSION)能看到,那$_SESSION[self::WATCHER_SESSION_KEY][$sessionID]就是 null。

如何取消设置变量,以便删除数组中的键?

我尝试过的事情,但没有奏效:

我可以在整个代码中添加一个糟糕的 hack 来检查它是否是null,但是必须将 »empty« 值更改为其他值(例如预定义的 const,但这是一个令人讨厌的解决方法,并导致其他开发人员感到困惑!)

有人有什么想法吗?

0 投票
1 回答
219 浏览

php - 循环遍历多维数组并按分数排序子数组

我正在尝试计算高尔夫球手在比赛中并列时的获胜顺序。

这些高尔夫比赛使用“stableford”积分系统,您在每洞得分,最高分获胜。与最低分获胜的普通高尔夫“比杆赛”相比(虽然这也有倒计时系统,只计算平局时的最低分......)

规则是使用“倒计时”。即,如果在 9 洞之后比分打成平手,则平局中最好的成绩是最后 8 洞的最好成绩。然后是 7 个孔,等等。

我能想到的最好的是2个数组。

  1. 包含在给定回合中并列的所有玩家的数组。(美元领带)
  2. 一个包含所有 9 个洞的完整得分数据(参考数据库 playerid)。($tie_perhole)

我遍历数组 1,从数组 2 中提取数据并使用以下公式创建一个得分最高的临时数组:

如果 $max 只有 1 个项目,则该玩家是最高得分者。通过第一个数组的循环是“通过引用”的,因此在循环的下一次迭代中,他的 playerid 现在在数组中更长,因此被忽略。这一直持续到第一个数组中只剩下 1 个 playerid。

但是,它只有在每次迭代中单个玩家获胜时才有效。不起作用的情况是,如果玩家子集与任何迭代/倒计时相关。

我认为我的问题是我拥有的当前结构将需要原始 $ties 数组进行拆分,然后以相同的方式继续遍历拆分数组...

举个例子...

$ties 数组如下:

$tie_perhole(分数数据)数组如下:

所以在本次比赛中,选手的 78 和 79 杆在第 8 洞倒数时得分最高(17 分),所以第 1 和第 2 应该在他们之间。球员 79 应该是第 6 洞倒计时的第一名(14 分,相比 13 分)。第 3 和第 4 名与其余 2 名其他玩家的情况相同。

这里还可能发生其他情况,即在一场比赛中,可能会有许多组(不同数量的)玩家通过排行榜处于不同的平局点。

另请注意,排行榜上会有一些玩家没有并列并保持在当前的绝对位置。

我拥有的工作代码的基础是:

提前感谢您提供任何有用的见解、提示、想法等...

Robert Cathay 要求提供更多场景。所以这里是另一个...

排行榜实际上有更多的参赛者(玩家 26 的一轮不好......),但我需要帮助的代码只关心排行榜内的关系。

摘要排行榜:

此示例生成一个 $tie_perhole 数组:

在此示例中,数组显示球员 75 和 48 获得了 21 分,球员 75 最终将在第 6 洞倒计时中获胜(14 分与 13 分相比),而球员 48 排名第 2。在下一个并列的小组中,73号和1号选手得到20分,73号选手将在第8洞倒计时赢得本组第3名(18分对比17分),选手1获得第4名。玩家 26 则排在第 5 位。

注意,$tie_loop 被添加到另一个数组中以计算第 1 到第 5 名的完成位置,这样就可以了。

希望这足以提供帮助。

0 投票
2 回答
53 浏览

php - 尽管条件仍然成立,为什么这个 for 循环似乎没有执行?

在下面的 SSCCE 中,为什么for循环执行的时间不$a超过 3,尽管条件应该让它执行直到$a变成 5。

而最后一条语句的输出更奇怪。

我想要实现的是我想删除具有Select oneelement/variable 值的元素word,这样生成的数组是:

Array ( [0] => stdClass Object ( [word] => alpha [sentence] => A is the first letter in the word Alpha. ) [1] => stdClass Object ( [word] => beta [sentence] => B is the first letter in the word Beta. ) )

问题是什么搞砸了,我能做些什么来解决它?

输出:

0 投票
3 回答
98 浏览

php - PHP遍历多维数组,计算里面的字符串并根据计数取消设置

我想遍历一个多维数组,计算其中出现的字符串并删除计数高于例如 3 的数组项。

我已经在 N^N 循环中尝试了 array_search、array_count_values 和 strpos 的非常混乱的组合,但这需要很长时间来处理并且结果是错误的......

这是数组,我正在尝试更改

周围的阵列可以有大约 200 个项目。如果找到的产品类别超过 X 次,我正在寻找一种删除项目的方法。

你们能帮我解决这个问题吗?

0 投票
1 回答
1240 浏览

php - 根据嵌套数组中的值删除数组元素

我尝试使用 PHPunset(key)函数根据嵌套数组中的值删除整个父数组。

嵌套数组看起来像

我检查的值是CODE = MAINKIT. 如果嵌套数组中不存在,则应删除主数组(在本例中为 parent array[3])但以某种方式返回key来自嵌套数组而不是父数组。

PHP代码:

0 投票
2 回答
20 浏览

php - 取消设置以预定前缀开头的多个索引

我有一个看起来像这样的数组:

我想在几行中取消所有这些而不重复代码。有没有办法在 PHP 中做到这一点?

我现在正在执行上述操作,但是重复次数过多,并且某些数组有数千个以相同前缀开头的条目。