fork download
  1. <?php
  2.  
  3. $arr = [
  4. "user_id" => 1,
  5. "description" => [
  6. "текст первый",
  7. "текст второй",
  8. "и даже третий"
  9. ],
  10. "title" => [
  11. "заголовок 1",
  12. "заголовок 2",
  13. "заголовок 3"
  14. ],
  15. "image" => [
  16. "image1",
  17. "image2",
  18. "image3"
  19. ]
  20. ];
  21.  
  22.  
  23. $fields = ['description',
  24. 'title', 'image' /* и т.д. */]; // Поля, которые нужно разобрать
  25. $new_arr = [];
  26. foreach (array_keys($arr[$fields[0]]) as $key) {
  27. $tmp = $arr;
  28. foreach ($fields as $field) {
  29. $tmp[$field] = $arr[$field][$key];
  30. }
  31. $new_arr[] = $tmp;
  32. }
  33.  
  34. print_r($new_arr);
Success #stdin #stdout 0.03s 82560KB
stdin
Standard input is empty
stdout
Array
(
    [0] => Array
        (
            [user_id] => 1
            [description] => текст первый
            [title] => заголовок 1
            [image] => image1
        )

    [1] => Array
        (
            [user_id] => 1
            [description] => текст второй
            [title] => заголовок 2
            [image] => image2
        )

    [2] => Array
        (
            [user_id] => 1
            [description] => и даже третий
            [title] => заголовок 3
            [image] => image3
        )

)