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
相关产品推荐
相关产品推荐

