【问题标题】:How to slice and grouping array every two values? [duplicate]如何每两个值对数组进行切片和分组? [复制]
【发布时间】:2019-05-02 13:53:00
【问题描述】:

我见过这样的数组组:

还有这样的数组:

[1] => Array (
    [bid] => 2
    [board_name] => Test1
    [create_date] => 2019-04-25 12:28:14
    )
[2] => Array (
    [bid] => 3
    [board_name] => Test2
    [create_date] => 2019-04-25 12:28:14
    )
[3] => Array (
    [bid] => 4
    [board_name] => Test3
    [create_date] => 2019-04-25 12:28:14
    )

如何为每两个数组构建<tr>
像这样:

<tr>
  <td>Test1</td>
  <td>Test2</td>
</tr>
<tr>
  <td>Test3</td>
</tr>

是否每两个数组计数一次,然后将它们分组到新数组中?

我还在学习php,也许这个问题很难理解我的意思,对不起我的英语不好..

【问题讨论】:

    标签: php arrays logic


    【解决方案1】:

    我猜你需要array-chunk

    这是一个简单的例子:

    $input_array = array('a', 'b', 'c', 'd', 'e');
    $chuncks = array_chunk($input_array, 2); // contains [[a,b], [c,d], [e]]
    

    现在您可以使用它来构建&lt;tr&gt; 部分:

    foreach($chuncks as $c) {
        echo "<tr><td>";
        echo implode("</td><td>" , $c);
        echo "</td></tr>";
    }
    

    【讨论】:

    • 虽然没有真正帮助 OP 构建 HTML 表
    • 可能,但这是问题的主要部分如何为每两个数组构建 ?
    • @dWinder 是的,我可以自己生成html表,我只想知道每2个数组分组的逻辑
    • @carry0987 正如我所说 - 您可以使用 array_chunk 作为:array_chunk(array_column($array, "board_name"))
    • @dWinder 我尽量不使用 implode,因为我很难将这个函数插入到我的代码中,但逻辑是正确的,非常感谢!!
    【解决方案2】:

    尝试使用array_chunk 格式化您的数组

    $input_array = array('a', 'b', 'c', 'd', 'e');
    print_r(array_chunk($input_array, 2));
    
    
    Array
    (
        [0] => Array
            (
                [0] => a
                [1] => b
            )
    
        [1] => Array
            (
                [0] => c
                [1] => d
            )
    
        [2] => Array
            (
                [0] => e
            )
    
    )
    

    【讨论】:

    • 虽然没有真正帮助 OP 构建 HTML 表
    • Holy #$%^#$(%^#$ 我不敢相信没有这个功能我活了这么久:'(
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签