首页 > 解决方案 > PHP array_push() 获取索引?

问题描述

我正在寻找一种将值推送到具有自动递增键的数组中的方法。问题:我想知道插入值的键。

有没有办法做到这一点?将值插入数组并获取插入值的索引?

当一个项目从数组中删除时,数组的计数不等于下一个插入键。

谢谢亚历克斯

标签: phparrayskeyarray-push

解决方案


我找到了一个解决方案:

这是我的示例数组

$array = [2 => "two", 1 => "one", "four" => 4];

如您所见,有字符串和整数用作数组键。

首先,我需要按数组的键对数组进行排序

ksort($array);

现在数组看起来像这样:

$array = ["four" => 4, 1 => "one", 2 => "two"];

现在我可以将指针移动到数组的末尾并获取键(所以我有最高的数字键):

end($array);
$key = key($array);

我现在将键增加 1并使用新键插入值:

$key++;
$array[$key] = "three";

现在密钥保存在变量$key中,数组如下所示:

$array = ["four" => 4, 1 => "one", 2 => "two", 3 => "three"];
$key = 3;

而已。

现在所有脚本小子的完整代码都在那里:

$array = [2 => "two", 1 => "one", "four" => 4];

ksort($array);
end($array);
$key = key($array);
$key++;

$array[$key] = "three";

推荐阅读