Я пытаюсь заполнить ключи в моем массиве чанков. Массив выглядит так:
{
"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"}...
Есть идеи, как получить желаемый результат?
Попробуй это,
$arr= [
"0" => [
"yes",
"yes",
"no",
"no",
"no",
"no",
"no",
],
"1" => [
"no",
"no",
"yes",
"no",
"no",
"no",
"no",
],
"2" => [
"no",
"no",
"yes",
"no",
"no",
"no",
"no",
],
];
array_walk($arr, function (&$values) {
array_unshift($values, 'Test');
unset($values[0]);
});
echo json_encode($arr);
Вот рабочий код ссылка на сайт
Других решений пока нет …