为了账号安全,请及时绑定邮箱和手机立即绑定

我需要在单行中获取用户的表阶段明智计数应该是动态的

我需要在单行中获取用户的表阶段明智计数应该是动态的

PHP
慕勒3428872 2023-10-22 21:45:42
 Actual i get Array (     [person1] => Array         (             [stage1] => 4             [stage2] => 4             [stage3] => 4             [stage4] => 4             [stage5] => 2         )     [person2] => Array         (             [stage3] => 1         )     [person3] => Array         (             [stage1] => 2             [stage2] => 1             [stage4] => 1             [stage5] => 2         ) )1)这里有5个阶段stage1,stage2...stage52)他们是3个用户 person1 person2 person3有些人没有阶段,请在该阶段保持为零或为空将此数组隐藏到表中,如下图所示,请帮助我https://i.stack.imgur.com/ccJLg.png
查看完整描述

1 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

首先,如果事先不知道并且可能是动态的,则需要找到所有阶段。如果有的话,您可以通过迭代数据来构建表。


<?php


$data = [

  'person1' => [

    'stage1' => 4,

    'stage2' => 4,

    'stage3' => 4,

    'stage4' => 4,

    'stage5' => 2,

  ],

  'person2' => [

    'stage3' => 1,

  ],

  'person3' => [

    'stage1' => 2,

    'stage2' => 1,

    'stage4' => 1,

    'stage5' => 2,

  ],

];


$stages = [];

foreach ($data as $person) {

  foreach ($person as $stage => $number) {

    if (!in_array($stage, $stages)) {

      $stages[] = $stage;

    }

  }

}


var_dump($stages);


?>

<table>

  <th>person</th>

  <?php foreach ($stages as $stage): ?>

    <th><?php echo $stage; ?></th>

  <?php endforeach ?>

  <?php foreach ($data as $personName => $person): ?>

    <tr>

      <td><?php echo $personName; ?></td>

      <?php foreach ($stages as $stage): ?>

        <td><?php echo $person[$stage] ?? 0; ?></td>

      <?php endforeach; ?>

    </tr>

  <?php endforeach; ?>

</table>

结果:


array(5) { [0]=> string(6) "stage1" [1]=> string(6) "stage2" [2]=> string(6) "stage3" [3]=> string(6) "stage4" [4]=> string(6) "stage5" }


person  stage1  stage2  stage3  stage4  stage5

person1      4       4       4       4       2

person2      0       0       1       0       0

person3      2       1       0       1       2


查看完整回答
反对 回复 2023-10-22
  • 1 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信