【发布时间】:2015-05-04 06:26:42
【问题描述】:
我创建了一个 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 的人。也请随时向我介绍最佳实践;)
【问题讨论】:
-
错字相关的问题是题外话。我不明白为什么要为此给出答案。投票删除。
-
那我不应该删除自己吗?
-
您接受答案后可能无法做到,但您可以尝试。否则,由于它被投票删除,其他成员也可以投票支持它。开发时使用错误检查php.net/manual/en/mysqli.error.php。它将消除猜测。 ;-)
-
我明白了。谢谢!
标签: php arrays oop constructor