在PHP中旋转或更改数组的方向
我想旋转数组的方向,使行和列反转 例如,我想将其转换为:在PHP中旋转或更改数组的方向,php,arrays,Php,Arrays,我想旋转数组的方向,使行和列反转 例如,我想将其转换为: 1 cat calico 2 dog collie 3 cat siamese 4 dog mutt 为此: 4 3 2 1 dog cat dog cat mutt siamese collie calico 我怎样才能做到这一点 $initialData = array( 1 =&g
1 cat calico
2 dog collie
3 cat siamese
4 dog mutt
为此:
4 3 2 1
dog cat dog cat
mutt siamese collie calico
我怎样才能做到这一点
$initialData = array( 1 => array('cat', 'calico'),
2 => array('dog', 'collie'),
3 => array('cat', 'siamese'),
4 => array('dog', 'mutt'),
);
$transposedArray = call_user_func_array('array_map',array_merge(array(NULL),$initialData));
var_dump($transposedArray);
请注意,它丢失了数组索引,只是@Keith链接的问题中@Codler回答的一行变体。以下是一种实现方法:
function rotate_2d_array($array)
{
$result = array();
foreach (array_values($array) as $key => $sub_array)
{
foreach (array_values($sub_array) as $sub_key => $value)
{
if (empty($result[$sub_key]))
{
$result[$sub_key] = array($value);
}
else
{
array_unshift($result[$sub_key], $value);
}
}
}
return $result;
}
下面是测试:
$a = array(
array(1, 'cat','calico'),
array(2, 'dog', 'collie'),
array(3, 'cat', 'siamese'),
array(4, 'dog', 'mutt')
);
print_r($a);
$b = rotate_2d_array($a);
print_r($b);
听起来你想转置一个多维数组:你能给我们看看你的一些代码吗?我不知道你在问什么,你是想在页面上以不同的方式显示信息吗?如果是这样,这不是一个PHP问题,而是一个HTML/CSS问题。