我想填充分块数组中的键。数组是这样的:向分块数组填充键
{
"0": [
"yes",
"yes",
"no",
"no",
"no",
"no",
"no"
],
"1": [
"no",
"no",
"yes",
"no",
"no",
"no",
"no"
],
"2": [
"no",
"no",
"yes",
"no",
"no",
"no",
"no"
]
}
我想要做的是,以填补每1键阵列来7
我的代码如下所示:
function fillKeys($keys, $value) {
$return = array();
foreach ($keys as $key => $val) {
$return[is_array($val) ? $key : $val] = is_array($val) ? fillKeys($val, $value) : $value;
}
return $return;
}
$test = array(1, 2, 3, 4, 5, 6, 7);
$chunked = array_chunk($zones, 7);
$zone = array();
foreach($chunked as $days) {
foreach($days as $value) {
$zone[] = fillKeys($test, $value);
}
}
return $zone;
我试着使用array_fill_keys来,但我总是得到相同的输出:
[
{
"1": "yes",
"2": "yes",
"3": "yes",
"4": "yes",
"5": "yes",
"6": "yes",
"7": "yes"
},
{
"1": "yes",
"2": "yes",
"3": "yes",
"4": "yes",
"5": "yes",
"6": "yes",
"7": "yes"
},
{
"1": "no",
"2": "no",
"3": "no",
"4": "no",
"5": "no",
"6": "no",
"7": "no"
}...
任何想法,我怎么能得到我想要的输出?
难道真的那么重要,每增加内部元件的关键?数据来自哪里?加1可能更符合逻辑。 – jeroen
在每个子阵列的开头添加一个虚拟新条目,以将现有的键从0-6改为1-7;然后取消设置虚拟键0.'array_walk($ myArrayData,function(&$ values){array_unshift($ values,'DUMMY'); unset($ values [0]);});' –