我想填充分塊數組中的鍵。數組是這樣的:向分塊數組填充鍵
{
"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]);});' –