数组洗牌每3个元素

时间:2016-12-04 17:25:37

标签: php html arrays

这是我的数组的一个例子:

$x = ['a', 'b', 'c' 
      'd', 'e', 'f'
      'g', 'h', 'i'];

我使用for循环和html将它们打印成三行。

现在我想将它们改组为:

$x = ['a', 'b', 'c'
      'g', 'h', 'i'
      'd', 'e', 'f'];

,然后

$x = ['g', 'h', 'i'
      'd', 'e', 'f'
      'a', 'b', 'c'];

实际上我想每3个元素打印阵列。

1 个答案:

答案 0 :(得分:1)

使用array chunk

在你的情况下:

$chunked = array_chunk($x, 3);
shuffle($chunked);
$result = [];
foreach($chunked as $array)
    foreach($array as $item)
        $result[] = $item;

然后$result就是你想要的。

工作示例:http://phpio.net/s/1m4w