#php
#php
Вопрос:
Я не умею играть с массивом. Поэтому мне действительно нужна ваша помощь. Я получил массив, подобный этому:
array(1) {
[0]=>
array(5) {
["first_name"]=>
string(3) "Bob"
["last_name"]=>
string(6) "Gorsky"
["date_of_birth"]=>
string(10) "1954-04-27"
["assignedlessons"]=>
string(16) "222|69|308|50|91"
["lesson"]=>
array(5) {
[0]=>
string(3) "222"
[1]=>
string(2) "69"
[2]=>
string(3) "308"
[3]=>
string(2) "50"
[4]=>
string(2) "91"
}
}
}
Что я хочу сделать, так это написать функцию для его преобразования (удалить [‘assignedlessons’] и разделить массив в соответствии с уроком:
array(5) {
[0]=>
array(4) {
["first_name"]=>
string(3) "Bob"
["last_name"]=>
string(6) "Gorsky"
["date_of_birth"]=>
string(10) "1954-04-27"
["lesson"]=>
array(1) {
[0]=>
string(3) "222"
}
}
[1]=>
array(4) {
["first_name"]=>
string(3) "Bob"
["last_name"]=>
string(6) "Gorsky"
["date_of_birth"]=>
string(10) "1954-04-27"
["lesson"]=>
array(1) {
[0]=>
string(2) "69"
}
}
[2]=>
array(4) {
["first_name"]=>
string(3) "Bob"
["last_name"]=>
string(6) "Gorsky"
["date_of_birth"]=>
string(10) "1954-04-27"
["lesson"]=>
array(1) {
[0]=>
string(3) "308"
}
}
[3]=>
array(4) {
["first_name"]=>
string(3) "Bob"
["last_name"]=>
string(6) "Gorsky"
["date_of_birth"]=>
string(10) "1954-04-27"
["lesson"]=>
array(1) {
[0]=>
string(2) "50"
}
}
[4]=>
array(4) {
["first_name"]=>
string(3) "Bob"
["last_name"]=>
string(6) "Gorsky"
["date_of_birth"]=>
string(10) "1954-04-27"
["lesson"]=>
array(1) {
[0]=>
string(2) "91"
}
}
}
Ответ №1:
$result = array();
foreach ($array['lesson'] as $lesson) {
$result[] = array(
'first_name' => $array['first_name'],
'last_name' => $array['last_name'],
'date_of_birth' => $array['date_of_birth'],
'lesson' => $lesson
);
}
Комментарии:
1. Я не уверен, действительно ли это то, чего хочет OP, но чтобы точно соответствовать их ожидаемому результату, это должно быть ‘lesson’ => array ($ lesson)