php - array_splice 不替换数组键值
问题描述
type
在我的 html 表单中选择了一个复选框时,我试图替换数组键的值。
$trip['subtrips'] = [];
for ($i=0; $i<count($trip['locations'])-1; $i++) {
array_push($trip['subtrips'], ['type' => 'normal', 'start' => $trip['locations'][$i], 'end' => $trip['locations'][$i+1]]);
}
if(isset($trip['standard'])) {
array_splice($trip['subtrips'], 0, 0, ['type' => 'standard']);
}
上面的代码导致下面的数组是错误的。
Array (
[0] => standard
[1] => Array (
[type] => normal
[start] => Location 1
[end] => Location 2
) )
下面的数组是我想要得到的所需输出
Array (
[0] => Array (
[type] => standard
[start] => Location 1
[end] => Location 2
) )
解决方案
你不需要array_splice()
在这里使用函数。您可以在将新项目推送到数组之前确定 for 循环的类型。
推荐阅读
- javascript - 在firebase中检索非规范化数据
- python - 测试抽象模型 - django 2.2.4 / sqlite3 2.6.0
- javascript - javascript 计数器总是落后 1
- r - 如何将数字和日期格式的列转换为日期类型?
- python - 如何在 Python 上将很长的一行分成几行?
- python - ImportError:使用 py2app 时没有名为“google-api-python-client”的模块
- tfs - 如何在基于 2 个条件相关任务的工作项查询中返回 PBI
- ruby - 为什么我的 ruby 循环没有创建 N 个线程?
- javascript - 在 Javascript 中无法理解这一点
- java - intellij idea中tomcat运行配置启动耗时较长