合并PHP重复数据数组

时间:2018-12-27 12:14:47

标签: php

我想制作一张像附件的桌子,有人可以帮我吗?我对如何使表格看起来像图像感到困惑,如果数组内有一些重复的值,可以删除第二个数据吗?

之前:

Before

之后:

Final Result

这是我的代码的样子:

<?php

$init_array = array(
    array('kode_pemesanan'=>'FPS26122018001', 
        'nama'=>'bintang', 
        'value1'=>'A Pieu pastel blusher (Shade 1)', 
        'value2'=>'1', 
        'value3'=>'50000', 
        'value4'=> '9000',
        'value5'=> '59000',
    ),
    array('kode_pemesanan'=>'FPS26122018001', 
        'nama'=>'bintang', 
        'value1'=>'A Pieu pastel blusher (Shade 3)', 
        'value2'=>'1', 
        'value3'=>'10000', 
        'value4'=> '9000',
        'value5'=> '59000',
    ),
    array('kode_pemesanan'=>'FPS26122018002', 
        'nama'=>'bintang', 
        'value1'=>'A Pieu pastel blusher (Shade 3)', 
        'value2'=>'1', 
        'value3'=>'10000', 
        'value4'=> '9000',
        'value5'=> '59000',
    ),
);

$formatted_array = array();

foreach($init_array as $element){
    $formatted_array[$element['kode_pemesanan']][] = $element;
}
?>

<table border='2' width="70%" align="center">
 <? foreach($formatted_array as $row ): ?>
   <tr>
     <td rowspan="<?=count($row)?>"><?=$row[0]['kode_pemesanan']?></td>
     <td rowspan="<?=count($row)?>"><?=$row[0]['nama']?></td>
     <? foreach( $row as $value ): ?>
      <td><?=$value['value1']?></td>
      <td><?=$value['value2']?></td>
      <td><?=$value['value3']?></td>
      <td><?=$value['value4']?></td>
      <td><?=$value['value5']?></td>
      </tr><tr>
     <? endforeach; ?>
   </tr>
 <? endforeach; ?>
</table>

1 个答案:

答案 0 :(得分:1)

只需尝试<?xml version="1.0" encoding="UTF-8"?> <suite name="Suite"> <test name="Test"> <classes> <class name="com.mycompany.app.AppTest"/> <class name="com.mycompany.app.RestAssuredTest"/> <class name="com.mycompany.app.appiumTests"/> </classes> </test> <!-- Test --> </suite> <!-- Suite -->

array_unique()

因此您可以尝试这样。将此行放在数组print_r(array_unique($init_array)); 之后,它将删除所有重复的记录。

$init_array

让我知道这是否对您有帮助。

然后尝试此代码

$init_array = array_unique($init_array);