Mam nazwę tablicy asocjacyjnej $classes_data
następująco:
Array
(
[2] => Array
(
[class_id] => 2
[class_name] => II
[subjects] => Array
(
[0] => 11 Engllish
)
)
[3] => Array
(
[class_id] => 3
[class_name] => III
[subjects] => Array
(
[0] => Hidi
[1] => 11 Maths
[2] => 11 Science
[3] => 11 Engllish
)
)
[4] => Array
(
[class_id] => 4
[class_name] => IV
[subjects] => Array
(
[0] => Physics
)
)
[6] => Array
(
[class_id] => 6
[class_name] => VI
[subjects] => Array
(
[0] => Mathematics
[1] => dfadadadsagfasrsarasrarBiology
)
)
[7] => Array
(
[class_id] => 7
[class_name] => VII
[subjects] => Array
(
[0] => Physics
[1] => Chemistry11
[2] => 11 Science
)
)
[8] => Array
(
[class_id] => 8
[class_name] => VIII
[subjects] => Array
(
[0] => Hidi
[1] => 11 Engllish
)
)
[9] => Array
(
[class_id] => 9
[class_name] => IX
[subjects] => Array
(
[0] => Mathematics
[1] => Hidi
[2] => 11 Science
)
)
)
Klucze tablicy (tj. 2,3,4,6,7,8,9) są w ten sposób zamiast 0,1,2,3,4,5,6, ponieważ użyłem jednej funkcji do zmiany ich kolejności klawiatura.
Teraz chcę wstawić nowy klucz class_checked
i ustaw jego początkową wartość jako 0
(to znaczy.class_checked =>"0"
).
Próbowałem wielu sztuczek, ale nie mogłem uzyskać pożądanego formatu tablicy. Czy ktoś może mi pomóc w tym, aby uzyskać pożądaną tablicę? Z góry dziękuję.
Dla twojej informacji wymagany format tablicy dla tablicy $classes_data
będzie wyglądać następująco:
Array
(
[2] => Array
(
[class_id] => 2
[class_name] => II
[class_checked] => 0
[subjects] => Array
(
[0] => 11 Engllish
)
)
[3] => Array
(
[class_id] => 3
[class_name] => III
[class_checked] => 0
[subjects] => Array
(
[0] => Hidi
[1] => 11 Maths
[2] => 11 Science
[3] => 11 Engllish
)
)
[4] => Array
(
[class_id] => 4
[class_name] => IV
[class_checked] => 0
[subjects] => Array
(
[0] => Physics
)
)
[6] => Array
(
[class_id] => 6
[class_name] => VI
[class_checked] => 0
[subjects] => Array
(
[0] => Mathematics
[1] => dfadadadsagfasrsarasrarBiology
)
)
[7] => Array
(
[class_id] => 7
[class_name] => VII
[class_checked] => 0
[subjects] => Array
(
[0] => Physics
[1] => Chemistry11
[2] => 11 Science
)
)
[8] => Array
(
[class_id] => 8
[class_name] => VIII
[class_checked] => 0
[subjects] => Array
(
[0] => Hidi
[1] => 11 Engllish
)
)
[9] => Array
(
[class_id] => 9
[class_name] => IX
[class_checked] => 0
[subjects] => Array
(
[0] => Mathematics
[1] => Hidi
[2] => 11 Science
)
)
)
Odpowiedzi:
4 dla odpowiedzi № 1Próbować:
foreach($classes_data as $key=>$value) {
$classes_data[$key]["class_checked"] = 0;
}
3 dla odpowiedzi № 2
$array = array_map(function (array $i) { return $i + array("class_checked" => 0); }, $array);
Lub:
foreach ($array as &$i) {
$i["class_checked"] = 0;
}
unset($i);
0 dla odpowiedzi № 3
biorąc pod uwagę twój pierwszy $classes_data
możesz to zrobić:
foreach($classes_data as &$class) {
$class["class_checked"] = 0;
}
teraz tablica powinna być taka, jaką chcesz.