我使用以下数组格式。我有2个用户ID。我想根据用户标识来改造这个数组。
我在PHP中有以下数组:
Array
(
[808] => Array
(
[0] => 1
[1] => 1
[2] => 1
[3] => 1
[4] => 0
)
[766] => Array
(
[0] => 0
[1] => 1
[2] => 0
[3] => 0
[4] => 1
)
)
我希望它采用以下格式:
Array
(
[0] => Array
(
[808] => 1
[766] => 0
)
[1] => Array
(
[808] => 1
[766] => 1
)
[2] => Array
(
[808] => 1
[766] => 0
)
[3] => Array
(
[808] => 1
[766] => 0
)
[4] => Array
(
[808] => 0
[766] => 1
)
)
答案 0 :(得分:1)
试试这个:
<?php
$array = Array
(
808 => Array
(
'0' => 1,
'1' => 1,
'2' => 1,
'3' => 1,
'4' => 0
),
766 => Array
(
'0' => 0,
'1' => 1,
'2' => 0,
'3' => 0,
'4' => 1,
)
);
$result = array();
foreach($array as $key => $subarray)
{
foreach($subarray as $subkey =>$subvalue)
{
if(!isset($result[$subkey]))
$result[$subkey] = array();
$result[$subkey][$key] = $subvalue;
}
}
echo '<pre>';
print_r($result);
echo '</pre>';
输出:
Array
(
[0] => Array
(
[808] => 1
[766] => 0
)
[1] => Array
(
[808] => 1
[766] => 1
)
[2] => Array
(
[808] => 1
[766] => 0
)
[3] => Array
(
[808] => 1
[766] => 0
)
[4] => Array
(
[808] => 0
[766] => 1
)
)
工作示例:CLICK!
答案 1 :(得分:0)
你可以这样做:
$ids = array_keys($your_array);
$new_array = array();
foreach($i=0; $i<count($your_array[0]); $i++){
foreach($ids as $id){
$new_array[][$id] = $your_array[$id][$i];
}
}