php - 将键值对添加到多维数组
问题描述
我有一个二维数组,我试图在我的外部数组上循环$jsonarray
,并根据开关的输出向内部数组添加一个'color'
键值对。当我在 JSON 中显示输出时,'color'
所有字段都设置为 null。具有$jsonarray
如下结构:
$jsonarray= [
0=> [
'deadline' => 'deadline',
'duedate' => 'duedate',],
1=> [
'deadline' => 'deadline',
'duedate' => 'duedate',],
我的代码看起来像这样:
$i = 0;
$keys = array_keys($jsonarray);
for ($k = 0; $k < count($jsonarray); $k++){
foreach ($jsonarray[$keys[$k]] as $key => $value) {
$color = 0;
switch ($i) {
case 0:
$color = '#AED5F1';
break;
case 1:
$color = '#F7D590';
break;
case 2:
$color = '#EE8970';
break;
}
array_push($jsonarray[$k]['color'], $color);
$i++;
}
}
我怎样才能解决这个问题?
解决方案
尝试这个:
foreach ($jsonarray as $i => &$value) {
switch ($i) {
case 0:
$value['color'] = '#AED5F1';
break;
case 1:
$value['color'] = '#F7D590';
break;
case 2:
$value['color'] = '#EE8970';
break;
}
}
推荐阅读
- c++ - 为什么这个程序会出现分段错误?
- java - SpringBoot + Hibernate + EHCache 2.X AbstractMethodError 异常
- excel - Excel公式从行返回最后xth数值
- android - Intellij Idea 2018.2.5 CE Android 开发问题,android sdk v28 不稳定/渲染问题
- generics - 为什么我会收到错误“预期类型参数,找到整数变量”?
- node.js - mongodb 数据已更新,但 axios 正在获取旧数据
- testing - 不能作为不可变借用,因为在验证闭包被调用时它也被作为可变借用
- python - Python 在从 C 加载时会抛出 ModuleNotFoundError,但在直接执行时不会
- python - python Tkinter中带有系统时间的七段数字时钟与strftime
- python - 如何为日程表中的星期几名称创建动态模型?