我创建了一个Magazine类,其中有三个属性,我希望在创建对象时将其直接存储到数组中。现在,我想我可以做的只是直接在数组中创建新对象,但它似乎不起作用?
<?php
class Magazine {
public $id;
public $name;
public $price;
public function __contruct($id, $name, $price) {
$this->id = $id;
$this->name = $name;
$this->price = $price;
}
}
$magazines = array(
new Magazine("svg_aftbld","Stavanger Aftenblad", 200),
new Magazine("tsk_ubld","Teknisk Ukeblad", 300),
new Magazine("se_ho","Se og Hør", 100),
new Magazine("fam","Familien", 150)
);
print_r($magazines);
?>
这是上面代码的输出:
Array ( [0] => Magazine Object ( [id] => [name] => [price] => ) [1] => Magazine Object ( [id] => [name] => [price] => ) [2] => Magazine Object ( [id] => [name] => [price] => ) [3] => Magazine Object ( [id] => [name] => [price] => ) )
我还尝试创建一个空数组,然后通过推送新对象来填充它,如下所示:
<?php
array_push($magazines,new Magazine("svg_aftbld","Stavanger Aftenblad", 200));
array_push($magazines,new Magazine("tsk_ubld","Teknisk Ukeblad", 300));
array_push($magazines,new Magazine("se_ho","Se og Hør", 100));
array_push($magazines,new Magazine("fam","Familien", 150));
?>
但它产生了与以前相同的产出。
正如你可能猜到的,我正在学习PHP,我来自Java。我读过几个类似的问题,但大多数问题似乎都过于复杂了。但我想可能是一个不太了解PHP的人。也可以随意向我讲授最佳实践;)
您编写了__contruct
而不是__construct
。。。