替换数组键和值

时间:2012-09-02 08:25:33

标签: php arrays

例如我有这个数组:

Array (
[0] => Array (
 [id] => 45 [name] => Name1 [message] => Ololo [date_create] => 21:03:56 )
[1] => Array (
 [id] => 46 [name] => visitor [message] => Hi! [date_create] => 21:06:28 )
)

我需要转换为:

Array (
 [id] => Array (
  [0] => 45, [1] => 46
 )
 [name] => Array (
  [0] => Name1, [1] => visitor
 )
 [message] => Array (
  [0] => Ololo, [1] => Hi!
 ) 
 [date_create] => Array (
  [0] => 21:03:56, [1] => 21:06:28
 )
)

我想知道转换它的功能,

1 个答案:

答案 0 :(得分:5)

试试这段代码:

// Assuming the array you have is called $mainArray.
// The output will be $outputArray.
$outputArray = array();

foreach ($mainArray as $index => $array) { // Iterate through all the arrays inside the main array.
// foreach ($mainArray as $array) { // Use this if the numeric index order doesn't matter.
    foreach ($array as $key => $value) { // Iterate through each inner array.
        // Load the multidimensional array with the first key as one of (id, name, message, date_create) and second key as the numeric index (if you need it).
        $outputArray[$key][$index] = $value;
        // $outputArray[$key][] = $value; // Use this if the numeric index order doesn't matter.
    }
}

print_r($outputArray);