【问题标题】:PHP create new objects into array [closed]PHP在数组中创建新对象[关闭]
【发布时间】: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&oslash;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&oslash;r", 100));
array_push($magazines,new Magazine("fam","Familien", 150));
?>

但它导致的输出与以前相同。

您可能已经猜到了,我正在学习 PHP,并且来自 Java。我已经阅读了几个类似的问题,但其中大多数似乎都过于复杂了。但我想可能是不太了解 PHP 的人。也请随时向我介绍最佳实践;)

【问题讨论】:

  • 错字相关的问题是题外话。我不明白为什么要为此给出答案。投票删除。
  • 那我不应该删除自己吗?
  • 您接受答案后可能无法做到,但您可以尝试。否则,由于它被投票删除,其他成员也可以投票支持它。开发时使用错误检查php.net/manual/en/mysqli.error.php。它将消除猜测。 ;-)
  • 我明白了。谢谢!

标签: php arrays oop constructor


【解决方案1】:

你写的是__contruct而不是__construct...

【讨论】:

  • 我不敢相信。我一直在尝试很多不同的方法,但没有任何效果。我也在尝试一个没有正确语法突出显示的新 IDE。这太尴尬了。太感谢了!我应该怎么处理我的问题?应该删除吗?
  • 如所指出的:"This question was caused by a problem that can no longer be reproduced or a simple typographical error.。这是语法错误,不是编程问题
  • @cazyius 很简单,因为这只是一个错字,不适合任何人。这对将来的任何人都没有帮助
  • 我明白了。在我发表评论后阅读解释。意识到我的错误时删除了我的评论。感谢您花时间解释它。
猜你喜欢
  • 2012-06-08
  • 2018-10-19
  • 2023-02-09
  • 2016-05-11
  • 2018-02-01
  • 1970-01-01
  • 2012-01-17
  • 2016-10-16
  • 1970-01-01
相关资源
最近更新 更多