Как мне преобразовать массив в соответствии с одним из его значений

#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)