您也可以为标题定义一个数组,并(有条件地)首先回显这些标题(如果它们不是空字符串)。请注意,我使用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();
}
?>