PHP重建一个大数组

时间:2013-04-19 18:20:54

标签: php arrays

array (size=10)
  'image' => 
    array (size=3)
      0 => string 'BlackLingerie(42).jpg' (length=21)
      1 => string 'BlackLingerie(43).jpg' (length=21)
      2 => string 'BlackLingerie(44).jpg' (length=21)
  'text' => 
    array (size=3)
      0 => string '' (length=0)
      1 => string '' (length=0)
      2 => string '' (length=0)
  'author' => 
    array (size=3)
      0 => string '' (length=0)
      1 => string '' (length=0)
      2 => string '' (length=0)
  'date' => 
    array (size=3)
      0 => string '' (length=0)
      1 => string '' (length=0)
      2 => string '' (length=0)
  'verImage' => 
    array (size=3)
      0 => string 'upload' (length=6)
      1 => string 'upload' (length=6)
      2 => string 'upload' (length=6)
  'imagePicsPath' => 
    array (size=3)
      0 => string 'http://127.0.0.1/develop/mvc/public/images/pics/BlackLingerie(42).jpg'/' (length=77)
      1 => string 'http://127.0.0.1/develop/mvc/public/images/pics/BlackLingerie(43).jpg'/' (length=77)
      2 => string 'http://127.0.0.1/develop/mvc/public/images/pics/BlackLingerie(44).jpg'/' (length=77)
  'imageThumbPath' => 
    array (size=3)
      0 => string 'http://127.0.0.1/develop/mvc/public/images/thumbs/BlackLingerie(42).jpg'/' (length=79)
      1 => string 'http://127.0.0.1/develop/mvc/public/images/thumbs/BlackLingerie(43).jpg'/' (length=79)
      2 => string 'http://127.0.0.1/develop/mvc/public/images/thumbs/BlackLingerie(44).jpg'/' (length=79)
  'imagePath' => 
    array (size=3)
      0 => string 'http://127.0.0.1/develop/mvc/public/images/pics/BlackLingerie(42).jpg'/' (length=77)
      1 => string 'http://127.0.0.1/develop/mvc/public/images/pics/BlackLingerie(43).jpg'/' (length=77)
      2 => string 'http://127.0.0.1/develop/mvc/public/images/pics/BlackLingerie(44).jpg'/' (length=77)
  'imageID' => 
    array (size=3)
      0 => string '0' (length=1)
      1 => string '1' (length=1)
      2 => string '2' (length=1)
  'submitUploadImages' => string 'Ladda upp bilder till databas' (length=29)

想要将此数组重建为更有用的数组。喜欢这个

array
   ( [image0] (
       'name' => 
       'text' => 
       'author' => 
       'date' => 
       'verImage' => 
       'imagePicsPath' => 
       'imageThumbPath' => 
       'imagePath' => 
       'imageID' => 
      )
      [image1] (
       'name' => 
       'text' => 
       'author' => 
       'date' => 
       'verImage' => 
       'imagePicsPath' => 
       'imageThumbPath' => 
       'imagePath' => 
       'imageID' => 
      )

依赖于有多少张图片,图像阵列中的键保存每张图片的值。喜欢名字,路径等等。传入的数组是一个$ _POST,它包含多个表单输入数据。需要一些帮助来破解这一个人。需要迭代$ _POST数组,获取内容并转换为新数组吗?

我想要在使用数据库之前保存图像信息的独特图像数组=)

3 个答案:

答案 0 :(得分:2)

我没有对此进行过测试,但它应该有效:

$incomingArray = $_POST['array'];
$sortedArray = array();

for($i = 0; $i < count($incomingArray); $i++){
    foreach($incomingArray as $key => $value){
        $sortedArray["image".$i][$key] = $value[i];
    }
}

这样做意味着您不必为每个图像值(名称,测试,作者等)编写$sortedArray["image".$i]['NAME'] = $incomingArray['NAME'][$i]

答案 1 :(得分:2)

尝试

foreach( $array as $1st_level_key => $1st_level_value ) {
    foreach ( $1st_level_value as $2nd_level_key => $2nd_level_value ) {
        $new_array['image'.$2nd_level_key][$1st_level_key] = $2nd_level_value;
    }
}

答案 2 :(得分:0)

简短回答是的,非常像这样:

for($i = 0; $i < count($YourArray); $i++)
{
    $NewArray["image".$i]["name"] = $YourArray["name"][$i];
    ...
}