You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP如何创建类及3个实例存入数组,遍历后将属性输出到HTML表格

问题排查与修正

你代码里的核心问题如下:

  • getter方法拼写错误:get_modele() 多写了一个字母e,调用获取model值时会找不到对应方法
  • 缺少遍历数组生成表格行的逻辑,仅拼接了表头就终止了代码
  • 仅实例化了2个Car对象,不符合要求的3个对象的需求
  • 末尾直接用return输出内容,若代码不在函数内会直接终止执行,不会打印最终的HTML内容

修正后完整代码

<?php
$output ='';
// 统一类名大小写规范
class Car {
  public $make;
  public $model;
  public $year;

  function set_make($make) {
    $this->make = $make;
  }
  function set_model($model) {
    $this->model = $model;
  }
  function set_year($year) {
    $this->year = $year;
  }

  function get_make() {
    return $this->make;
  }
  // 修正拼写错误
  function get_model() {
    return $this->model;
  }
  function get_year() {
    return $this->year;
  }
}

$car1 = new Car();
$car1->set_make('Toyota');
$car1->set_model('Rav4');
$car1->set_year('2018');

$car2 = new Car();
$car2->set_make('Acura');
$car2->set_model('ILX');
$car2->set_year('2012');

// 新增第三个Car对象
$car3 = new Car();
$car3->set_make('比亚迪');
$car3->set_model('汉');
$car3->set_year('2023');

$carArray = array(); 
array_push( $carArray, $car1, $car2, $car3);

$output .= '<TABLE border="2" align="left">';
$output .= "<TR>";
$output .= '<TH align="left">' . "Make" . "</TH>";
$output .= '<TH>' . "Model" . "</TH>";
$output .= '<TH>' . "Year" . "</TH>";
$output .= "</TR>";

// 新增遍历数组生成表格行逻辑
foreach ($carArray as $car) {
    $output .= "<tr>";
    $output .= "<td>".$car->get_make()."</td>";
    $output .= "<td>".$car->get_model()."</td>";
    $output .= "<td>".$car->get_year()."</td>";
    $output .= "</tr>";
}
$output .= "</table>";

// 打印输出表格
echo $output;

内容的提问来源于stack exchange,提问作者SJ War

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 03:57:04