duanjian9148 2012-02-10 07:07
浏览 32
已采纳

如何重构多维数组? [关闭]

I'm having problem with my array basicly this is what i have:

  1. $test =
  2. array(
  3. "image" => array(
  4. "name" => array(
  5. "name.jpg",
  6. "name2.jpg",
  7. "name3.jpg"
  8. ),
  9. "type" => array(
  10. "image/jpeg",
  11. "image/jpeg",
  12. "image/jpeg",
  13. ),
  14. "size" => array(
  15. 118108,
  16. 589788,
  17. 1387074
  18. )
  19. )
  20. )

And this is what i would like to have:

  1. $test2 =
  2. array(
  3. "0" => array(
  4. "name" => "name.jpg",
  5. "type" => "image/jpeg",
  6. "size" => 118108
  7. ),
  8. "1" => array(
  9. "name" => "name2.jpg",
  10. "type" => "image/jpeg",
  11. "size" => 589788
  12. ),
  13. "2" => array(
  14. "name" => "name3.jpg",
  15. "type" => "image/jpeg",
  16. "size" => 1387074
  17. )
  18. )

So i need some kind of script which would redo that first array structure in to the second one

展开全部

  • 写回答

4条回答 默认 最新

  • dpl9717 2012-02-10 08:02
    关注

    Here's a more generic solution. It will rebuild an array with any property names. I also wrapped it in a function to make it easier to use.

    Using:

    1. function func(array $input)
    2. {
    3. $result = array();
    4. foreach ($input as $type => $properties) {
    5. foreach ($properties as $name => $values) {
    6. for ($i = 0; $i < count($values); $i++) {
    7. $result[$i][$name] = $values[$i];
    8. }
    9. }
    10. }
    11. return $result;
    12. }

    Results in:

    1. Array
    2. (
    3. [0] => Array
    4. (
    5. [name] => name.jpg
    6. [type] => image/jpeg
    7. [size] => 118108
    8. )
    9. [1] => Array
    10. (
    11. [name] => name2.jpg
    12. [type] => image/jpeg
    13. [size] => 589788
    14. )
    15. [2] => Array
    16. (
    17. [name] => name3.jpg
    18. [type] => image/jpeg
    19. [size] => 1387074
    20. )
    21. )

    Hope it helps!

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部