合并或合并索引不相等的两个或三个(多于三个)数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了合并或合并索引不相等的两个或三个(多于三个)数组相关的知识,希望对你有一定的参考价值。

我有多个数组,它们的索引号不同。我认为,如果将它们合并为一个,则可以轻松地在表格中显示它们。

这是我的数组:

Arrays

如何将它们合并或合并为一个?

这是即时消息创建这些数组的地方

$fields = Field::select('placeholder','id')->get();
foreach ( $fields as $key => $field) {
     $data[$field->placeholder] = PostValue::select('value')
          ->where('post_values.field_id',$field->id)
         ->get();
}

这是我的刀片引擎代码

<thead>
        <tr>
            @foreach ($data as $key => $field)
                <th>{{$key}}</th>
            @endforeach
        </tr>


</thead>
<tbody>
    <tr>
        @foreach ($data as $key => $field)
            <td>
                @foreach ($field as $key => $f)
                    {{$f}}
                @endforeach
            </td>
        @endforeach
    </tr>
</tbody>

我想在blade engine上显示它们,我也上传了表格视图:

enter image description here

答案

您可以使用内联表,

$data = array(
    "Ampere" => array(2,5,2,5,2,5),
    "Voltage" => array(12,12,12),
    "Brand" => array("LG","iPhone")
);
$th = "";
$tbody = "";
foreach($data as $key => $values){
    $th .= "<th>$key</th>";
    $sub_tbody = "";
    foreach($values as $value){
        $sub_tbody .= "<tr><td>$value</td></tr>";
    }
    $tbody .= "<td><table><tbody>$sub_tbody</tbody></table></td>";
}
echo "<table><tbody><tr>$th</tr><tr>$tbody</tr></tbody></table>";

这里是结果,

<table><tbody><tr><th>Ampere</th><th>Voltage</th><th>Brand</th></tr><tr><td><table><tbody><tr><td>2</td></tr><tr><td>5</td></tr><tr><td>2</td></tr><tr><td>5</td></tr><tr><td>2</td></tr><tr><td>5</td></tr></tbody></table></td><td><table><tbody><tr><td>12</td></tr><tr><td>12</td></tr><tr><td>12</td></tr></tbody></table></td><td><table><tbody><tr><td>LG</td></tr><tr><td>iPhone</td></tr></tbody></table></td></tr></tbody></table>

以上是关于合并或合并索引不相等的两个或三个(多于三个)数组的主要内容,如果未能解决你的问题,请参考以下文章

合并三个或更多图像 -- PHP

使用没有第三个数组的递归合并两个排序数组

将两个不相等的数据框与两个索引(日期时间和日期)上的部分公共元素合并

如何在火花中合并或连接具有不相等列号的数据框

列表合并问题:在一定条件下合并二维数组

Arangodb AQL 连接、合并、嵌入嵌套的三个或更多集合