开发者社区> 问答> 正文

在PHP中转置多维数组

您将如何在PHP中翻转90度(转置)多维数组?例如:

// Start with this array $foo = array( 'a' => array( 1 => 'a1', 2 => 'a2', 3 => 'a3' ), 'b' => array( 1 => 'b1', 2 => 'b2', 3 => 'b3' ), 'c' => array( 1 => 'c1', 2 => 'c2', 3 => 'c3' ) );

$bar = flipDiagonally($foo); // Mystery function var_dump($bar[2]);

// Desired output: array(3) { ["a"]=> string(2) "a2" ["b"]=> string(2) "b2" ["c"]=> string(2) "c2" } 您将如何实施flipDiagonally()? 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 21:56:24 402 0
1 条回答
写回答
取消 提交回答
  • 这是Codler / Andreas解决方案的一种变体,适用于关联数组。更长一些但没有循环:

    [ "a1", "a2", "a3"], "fooB" => [ "b1", "b2", "b3"], "fooC" => [ "c1", "c2", "c3"] ); print_r( $transpose( $foo )); // Output like this: Array ( [0] => Array ( [fooA] => a1 [fooB] => b1 [fooC] => c1 ) [1] => Array ( [fooA] => a2 [fooB] => b2 [fooC] => c2 ) [2] => Array ( [fooA] => a3 [fooB] => b3 [fooC] => c3 ) );
    2020-02-08 21:56:35
    赞同 展开评论 打赏
问答分类:
PHP
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载