相关疑难解决方法(0)

在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"
}
Run Code Online (Sandbox Code Playgroud)

你会如何实施flipDiagonally()

编辑:这不是作业.我只是想看看是否有任何SOers比最明显的路线更具创造性的解决方案.但是,由于一些人抱怨这个问题太容易了,那么一个适用于 n 维数组的更通用的解决方案呢?

即如何编写函数以便:

$foo[j][k][...][x][y][z] …
Run Code Online (Sandbox Code Playgroud)

php arrays higher-order-functions

68
推荐指数
3
解决办法
4万
查看次数

将多个阵列交织成单个阵列

我需要将几个数组合并为一个数组.描述我正在寻找的东西的最好方法是将数组"交错"成一个数组.

例如,从数组#1中取出第一项并附加到最​​终数组.从数组#2获取第一项并追加到最终数组.从数组#1获取第二项并附加...等.

最终的数组看起来像这样:

array#1.element#1 array#2.element#1...

"踢球者"是各个阵列可以具有不同的长度.

是否有更好的数据结构可供使用?

php arrays

9
推荐指数
1
解决办法
4436
查看次数

标签 统计

arrays ×2

php ×2

higher-order-functions ×1