哪个更适合在PHP,2D数组或类中使用?我已经列举了一个我的意思的例子.
// Using a class class someClass { public $name; public $height; public $weight; function __construct($name, $height, $weight) { $this -> name = $name; $this -> height = $height; $this -> weight = $weight; } } $classArray[1] = new someClass('Bob', 10, 20); $classArray[2] = new someClass('Fred', 15, 10); $classArray[3] = new someClass('Ned', 25, 30); // Using a 2D array $normalArray[1]['name'] = 'Bob'; $normalArray[1]['height'] = 10; $normalArray[1]['weight'] = 20; $normalArray[2]['name'] = 'Fred'; $normalArray[2]['height'] = 15; $normalArray[2]['weight'] = 10; $normalArray[3]['name'] = 'Ned'; $normalArray[3]['height'] = 25; $normalArray[3]['weight'] = 30;
假设某人没有出来并且表明课程太慢,看起来类似于胜利.
我不知道我应该接受哪个答案,我刚刚赞成所有这些答案.
我现在写了两个几乎相同的页面,一个使用2D数组(在发布此问题之前编写),现在一个使用类,我必须说该类产生更好的代码.我不知道将产生多少开销,但我怀疑它将与代码本身的改进相媲美.
感谢您帮助我成为更好的程序员.
您在上面构建的"类"是大多数人在其他语言中使用结构的原因.我不确定PHP中的性能影响是什么,但我怀疑在这里实例化对象的成本可能更高,如果只是一点点.
话虽这么说,如果成本相对较低,我认为管理对象要容易一些.
我只是根据标题和你的问题说出以下内容,但是:请记住,类也提供了方法和访问控制的优点.因此,如果您想确保人们不将权重更改为负数,您可以将该weight
字段设为私有,并提供一些访问方法,例如getWeight()
和setWeight()
.在里面setWeight()
,你可以做一些值检查,如下:
public function setWeight($weight) { if($weight >= 0) { $this->weight = $weight; } else { // Handle this scenario however you like } }