将数组划分为3个相等列

时间:2016-10-25 11:48:35

标签: php arrays

我有一个动态数量的项目,我需要将其分成3列。让我们说我给出了这个:

array("one", "InfoOne", "LibOne", 
      "two", "InfoTwo", "LibTwo", 
      "three", "InfoThree", "LibThree")

我需要像这样生成数组:

array( 
[0] = array("one", "InfoOne", "LibOne"),
[1] = array("two", "InfoTwo", "LibTwo"),
[2] = array("three", "InfoThre", "LibThree")
)

我怎样才能放入一个数组,数据有3个相等的列?

3 个答案:

答案 0 :(得分:3)

使用array_chunk()即可 -

$ori = array("one", "InfoOne", "LibOne", 
      "two", "InfoTwo", "LibTwo", 
      "three", "InfoThree", "LibThree");
$chunked = array_chunk($ori, 3);
echo '<pre>';
print_r($chunked);
echo '</pre>';

答案 1 :(得分:1)

试试这个......

$t1=array("one", "InfoOne", "LibOne", 
      "two", "InfoTwo", "LibTwo", 
      "three", "InfoThree", "LibThree");
      print_R(array_chunk($t1,3));

<强>输出:

Array
(
    [0] => Array
        (
            [0] => one
            [1] => InfoOne
            [2] => LibOne
        )

    [1] => Array
        (
            [0] => two
            [1] => InfoTwo
            [2] => LibTwo
        )

    [2] => Array
        (
            [0] => three
            [1] => InfoThree
            [2] => LibThree
        )

)

答案 2 :(得分:1)

基本上,这样做:

$array = [
  "one", "InfoOne", "LibOne", 
  "two", "InfoTwo", "LibTwo", 
  "three", "InfoThree", "LibThree"];

print_r($new_array = array_chunk($array,3,true));

应该在多维数组中提供一个包含3和3值的新数组。