首页 > 解决方案 > 如何比较 2 个数组并将它们显示在一个表中

问题描述

我有 2 个数组,一个数组包含员工信息,第二个包含员工销售。

对于员工信息数组,它包含 ID 和姓名,而员工销售数组包含员工 ID 和总销售额。

我试图显示这 2 个数组,但是当我尝试时只显示 2 个数据。

虽然我还需要显示没有销售额的 id。

我的代码:

<?php
$employees = [
    $i = [

        "id" => "1",
        "name" => "Aliff",
    ],
    $p = [

        "id" => "2",
        "name" => "Aina",
    ],
    $a = [

        "id" => "3",
        "name" => "Ana",
    ]
];
$employee_sales = [
    $i = [
        "id" => "1",
        "amount" => "500",
    ],
    $p = [
        "id" => "3",
        "amount" => "300",
    ],
];
?>
<!-- Next Table --->
<?php
// echo '<pre>';
// var_dump($employees);
// var_dump($employee_sales);
foreach ($employees as $employee) {
    foreach ($employee_sales as $employee_sale) {
        if ($employee['id'] == $employee_sale['id']) {
        ?>
        <table>
            <tr>
                <td><?= $employee['id']; ?></td>
                <td><?= $employee['name']; ?></td>
                <td><?= $employee_sale['amount']; ?></td>
            <tr>
        </table>
        <?php
        }
    }
}
?>
<!-- Next Table --->
<br>
<br>
<br>
<?php
foreach ($employees as $employee) {
?>
    <table>
        <tr>
            <td><?= $employee['id']; ?></td>
            <td><?= $employee['name']; ?></td>
        <tr>
    </table>
<?php } ?>
<!-- Next Table --->
<br>
<br>
<br>
<?php
foreach ($employee_sales as $employee_sale) {
?>
    <table>
        <tr>
            <td><?= $employee_sale['id']; ?></td>
            <td><?= $employee_sale['amount']; ?></td>
        <tr>
    </table>
<?php } ?>

即使该员工没有任何总销售额,我也希望显示 2 号员工 ID。

想要显示,amount = 0因为工作人员没有任何销售。

标签: phparrays

解决方案


请检查这个。

<?php
 $employees = array(1=> array('id' => "1" , 'name' => 'Aliff')  ,2 => array('id' => "2" , 'name' => 'Aina'),3 => array('id' => "3" , 'name' => 'Ana')  );

  $employee_sales = array(1 => array('id' => "1" , 'amount' => '500')  ,2 => array('id' => "3" , 'amount' => '300'));

  $data = array();
 foreach ($employees as $key => $value) {

   $data[$value['id']] = $value['name'];

 }

   $data1 = array();
 foreach ($employee_sales as $key1 => $value1) {
    $data1[$value1['id']] = $value1['amount'];

 }



?>


    <table>
     <?php foreach ($data as $key => $value) {?>
     <?php if(isset($data1[$key])){?>
    <tr>
    <td><?= $key; ?></td>
    <td><?= $value; ?></td>
    <td><?= $data1[$key]; ?></td>
    <tr>
    <?php }else{?> 
     <tr>
    <td><?= $key; ?></td>
    <td><?= $value; ?></td>
    <td>0</td>
    <tr> 

    <?php } ?>

<?php } ?>


    </table>


推荐阅读