我想知道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 )
)
请尝试下面的代码
foreach($_FILES[ 'file' ] as $k=> $v )
{
$arr[ $k ] = array( $v );
}
给你,
<?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"
}
}
你可以使用这个:
$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
)
);