2016-11-16 123 views
-1

我想知道轉換二維陣列結構,以陣列的陣列的方式的陣列。請參閱下面的更具體的例子:PHP重新結構陣列從二維陣列到陣列

我有數據結構是這樣的:

$_FILES["file"]["name"] = "aaaa.png"; 
$_FILES["file"]["type"] = "image/png"; 
$_FILES["file"]["tmp_name"] = "/tmp/phpQklCB7"; 
$_FILES["file"]["error"] = "0"; 
$_FILES["file"]["size"] = "37507"; 

,我需要它進行重組,這個數據結構:

Array ( 
    [name] => Array ([0] => aaaa.png) 
    [type] => Array ([0] => image/png) 
    [tmp_name] => Array ([0] => /tmp/phpIERHxT) 
    [error] => Array ([0] => 0) 
    [size] => Array ([0] => 37507) 
) 
+1

歡迎堆棧溢出!你似乎在要求某人爲你寫一些代碼。堆棧溢出是一個問答網站,而不是代碼寫入服務。請[see here](http://stackoverflow.com/help/how-to-ask)學習如何編寫有效的問題。 [通過增加和減少的所有頂部的索引重新索引陣列]的 – secelite

+0

可能的複製(http://stackoverflow.com/questions/18393644/reindex-array-by-increasing-and-decreasing-all-of-top-indexes) – Xorifelse

+0

更新對象,標籤和描述使用更專業語言 – Farside

回答

0

在這裏你去,

<?php 
$_FILES["file"]["name"]  = "aaaa.png"; 
$_FILES["file"]["type"]  = "image/png"; 
$_FILES["file"]["tmp_name"] = "/tmp/phpQklCB7"; 
$_FILES["file"]["error"] = "0"; 
$_FILES["file"]["size"]  = "37507"; 

foreach($_FILES[ 'file' ] as $key => $value) 
{ 
    $new_array[ $key ] = array($value); 
} 

var_dump($new_array); 

輸出

array(5) { 
    ["name"]=> 
    array(1) { 
    [0]=> 
    string(8) "aaaa.png" 
    } 
    ["type"]=> 
    array(1) { 
    [0]=> 
    string(9) "image/png" 
    } 
    ["tmp_name"]=> 
    array(1) { 
    [0]=> 
    string(14) "/tmp/phpQklCB7" 
    } 
    ["error"]=> 
    array(1) { 
    [0]=> 
    string(1) "0" 
    } 
    ["size"]=> 
    array(1) { 
    [0]=> 
    string(5) "37507" 
    } 
} 
+0

爲什麼輸出不相同'陣列( [名稱] =>數組([0] => aaaa.png) [型] =>數組([0] = > image/png) [tmp_name] => Array([0] =>/tmp/phpIERHxT) [error] => Array([0] => 0) [size] => Array([0] = > 37507) )'? –

+0

輸出與您在問題中請求的相同。 – Blinkydamo

+0

這是我的數組'[name] => Array([0] => aaaa.png)',這就是你的數組[ (8)「aaaa.png」 }'不一樣。 –

-1

您可以使用此一:

$arr = array(
    'name' => array(
     0 => 'aaa.png' 
    ), 
    'type' => array(
     0 => 'image/png' 
    ), 
    'tmp_name' => array(
     0 => '/tmp/phpIERHxT' 
    ), 
    'error' => array(
     0 => 0 
    ), 
    'size' => array(
     0 => 37507 
    ) 
); 
+0

請在代碼中使用PHP的變種。 –

0

請嘗試下面的代碼

foreach($_FILES[ 'file' ] as $k=> $v) 
{ 
    $arr[ $k ] = array($v); 
}