php - PHP array_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";
推荐阅读
- reactjs - 使用 react-testing-library 测试卸载
- javascript - 两个具有不同 css 功能的导航栏导致滚动时导航栏颜色变化不起作用
- python - set(l) 的大 O 复杂度,其中 l 是一个列表
- python - Keras 层的输入
- ffmpeg - 如何使用 ffmpeg 将 CEA-608/708 嵌入到视频中
- c# - Workfront RESTAPI 查询时区
- angular - 如何在 Angular 8 应用程序中使用 SAML 身份验证?
- javascript - UI5 应用程序未在 Internet Explorer 中加载
- iis - Regex does not work for {URL} in the URL rewrite in IIS
- performance - 基于组执行udf的有效方法