There is an array of the form:
array:4 [▼ 0 => array:7 [▼ "answer_schema_id" => "1" "content" => "odpowiedz 1" "locale" => "pl" "points" => "3" "answerKey" => "1" "answerElementOrder" => "1" "image" => "5cd143beba821203428009.jpg" ] 1 => array:7 [▼ "answer_schema_id" => "1" "content" => "answer 1" "locale" => "en" "points" => "3" "answerKey" => "1" "answerElementOrder" => "1" "image" => "5cd143beba821203428009.jpg" ] 2 => array:7 [▼ "answer_schema_id" => "2" "content" => "answer 2" "locale" => "en" "points" => "2" "answerKey" => "2" "answerElementOrder" => "2" "image" => "5cd143bebcdfc405126844.jpg" ] 3 => array:7 [▼ "answer_schema_id" => "2" "content" => "odpowiedz 2" "locale" => "pl" "points" => "2" "answerKey" => "2" "answerElementOrder" => "2" "image" => "5cd143bebcdfc405126844.jpg" ] ] You need to get the following array:
array:4 [▼ 0 => array:7 [▼ "answer_schema_id" => "1" "content" => [ "pl" => 'odpowiedz 1', "en" => 'answer 1' ] "points" => "3" "answerKey" => "1" "answerElementOrder" => "1" "image" => "5cd143beba821203428009.jpg" ], 1 => array:7 [▼ "answer_schema_id" => "2" "content" => [ "pl" => 'odpowiedz 2', "en" => 'answer 2' ] "points" => "2" "answerKey" => "2" "answerElementOrder" => "2" "image" => "5cd143bebcdfc405126844.jpg" ] ] But this is how I get an array with only 1m key. Here is my code:
$new = []; foreach ($data as $key => $datum){ if(empty($new)){ $new[] = $datum; unset($new[0]['content']); } foreach ($new as $keyz => $item){ if($item['answer_schema_id'] == $datum['answer_schema_id']){ $new[$keyz]['content'][$datum['locale']] = $datum['content']; } } } I ask for help in solving this problem.