チャンク配列内にキーを埋めようとしています。配列は次のようになります。私は何をしたいかチャンク配列にキーを埋め込む
{
"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]);});' –