【发布时间】:2020-06-26 22:07:24
【问题描述】:
我想以以下 json 格式组织:
data: {
'year' : 2014,
'year_data' : {
'month' : 'January',
'month_data' : {
'day' : {
'1' : 100,
'2' : 200,
'3' : 300,
'4' : 400,
}
}
}
}
这是我的方法:
function sheetData($data, $sheet) {
echo "<pre>";
$years = ['2014', '2015', '2016', '2017', '2018'];
$months = ['January', 'February', 'March', 'April', 'May', 'June', 'July',
'August', 'September', 'October', 'November', 'December'];
$x = 1;
$segment = 0;
$segment_end = 11;
$year_count = 0;
$calc_years = [];
$calc_months = [];
while($x <= $sheet['numRows']) {
$y = 3;
if ($segment == $segment_end) {
$calc_months[$segment] = $months[$segment];
$segment = 0;
$calc_years[$year_count] = $years[$year_count];
$year_count++;
} else {
$calc_months[$segment] = $months[$segment];
$segment++;
}
$col = 0;
while($y <= $sheet['numCols']) {
$cell = isset($sheet['cells'][$x][$y]) ? $sheet['cells'][$x][$y] : '';
$calc_days[$col] = $cell;
$y++;
$col++;
}
$x++;
}
$data_year = array();
$data_month = array();
$data_day = array();
$data_array = array();
$count = 0;
$count_years = count($calc_years);
$count_months = count($calc_months);
$count_days = count($calc_days);
for ($p=0; $p < $count_years ; $p++) {
$data_array[$p]['year'] = $calc_years[$p];
for ($q=0; $q < $count_months; $q++) {
$data_array[$p]['year_data'][$q]['month'] = $calc_months[$q];
for ($r=0; $r < $count_days; $r++) {
$data_array[$p]['year_data'][$q]['month']['day'][$r] = $calc_days[$r];
}
}
}
var_dump($data_array);
}
我从工作表中读取数据并在单独的数组中分段为年、月和日,最后尝试编写一个数组来填充我想要的格式。但 我正在努力从中创建嵌套数组。尝试了多种方法,但没有解决方案。有什么帮助吗?
完整代码链接:enter link description here
示例:https://drive.google.com/open?id=1NDpd0-sEMn47JDfhMagAjRnr_MemZttA
【问题讨论】:
-
到目前为止你尝试过什么?你是如何加载你的数据集的?您能否向我们展示您创建此数组的尝试并分享您遇到的问题?如果没有代码,我们如何帮助您修复代码?
-
我将通过回应 El_Vanja 的评论来跟进。 Stack Overflow 是一个问答社区,人们在这里提供时间和知识来帮助他人。您至少可以花时间学习如何提出一个好问题,并展示您的工作,以便其他人可以感觉到他们是在真正帮助您学习,而不仅仅是为您工作的人。 stackoverflow.com/help/how-to-ask
-
感谢@Crayons 很抱歉我的简短问题。现在我更新了我的问题。请看一下。
-
你能给我们一个
$sheet内容的小样本吗(我知道这是图片中的数据,但最好知道该数组的确切结构)。 -
@El_Vanja 请立即检查问题。我已经给出了示例和完整的代码。谢谢
标签: php arrays json multidimensional-array