【问题标题】:How to echo text labels before array values for specific indexes如何在特定索引的数组值之前回显文本标签
【发布时间】:2020-07-27 23:33:44
【问题描述】:

我写了以下PHP代码,我想生成一个类似截图所示的表格:

该表还应在职位名称和电子邮件地址之前具有Job:Email: 之类的标题。谢谢

<?php

$company = array
  (

  array("John Smith","Accountant","johnsmith@example.com", 70),
  array("May Black","Business Analyst","mayblack@example.com", 40),
  array("Tom white","Plummer","tomwhite@example", 30),
  array("Susan Kim","Engineer","susankim@example.com", 80)

  );

  echo "--Customer List-- <br> <br>";

  for($i = 0; $i < 4; $i++) {
      for($j = 0; $j < 3; $j++) {
        echo $company[$i][$j]."<br>";  

      }
      echo "<br><br>";
  }

?>

【问题讨论】:

    标签: php arrays for-loop label echo


    【解决方案1】:

    您也可以为标题定义一个数组,并(有条件地)首先回显这些标题(如果它们不是空字符串)。请注意,我使用foreach 循环不必调查数组中有多少员工。我仍然保持内部循环 ([0-3)) 不显示敏感的年龄信息(尽管可以以不同的方式控制)。

    <?php
      $company = array(
        array("John Smith", "Accountant", "johnsmith@example.com", 70),
        array("May Black", "Business Analyst", "mayblack@example.com", 40),
        array("Tom white", "Plummer", "tomwhite@example", 30),
        array("Susan Kim", "Engineer", "susankim@example.com", 80)
      );
    
      $title = array("", "Job", "Email", "Age");
    
      echo "--Customer List--<br><br>\n";
    
      foreach($company as $employee) {
        for($j = 0; $j < 3; $j++) {
          if($title[$j]) echo $title[$j] . ": ";
          echo $employee[$j] . "<br>";
        }
        echo "<br><br>\n";
      }
    ?>
    

    如果您想从一个地方控制员工的显示方式,另一个选项可能会很方便:通过创建class 和一个成员函数来显示(适当的)信息,您只需要更改显示函数想要更改员工信息在任何地方的显示方式。它还增加了其他优点,例如将处理特定类型对象的代码保持在定义该类型的代码附近。

    <?php
        class Employee {
            public $Name;
            public $Job;
            protected $Email;
            private $Age;
    
            public function __construct($n, $j, $e, $a) {
                $this->Name = $n;
                $this->Job = $j;
                $this->Email = $e;
                $this->Age = $a;
            }
    
            public function display($delim = "<br>") {
                echo $this->Name . $delim;
                echo "Job: " . $this->Job . $delim;
                echo "Email: " . $this->Email . $delim;
                echo $delim . $delim;
                echo "\n";
            }
        }
    
        $employees = array(
            new Employee("John Smith","Accountant","johnsmith@example.com", 70),
            new Employee("May Black","Business Analyst","mayblack@example.com", 40),
            new Employee("Tom white","Plummer","tomwhite@example", 30),
            new Employee("Susan Kim","Engineer","susankim@example.com", 80)
        );
    
        echo "--Customer List--<br><br>\n";
        foreach($employees as $employee) {
            $employee->display();
        }
    ?>
    

    【讨论】:

      猜你喜欢
      • 2019-11-04
      • 2018-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多