我有一个非常简单的问题,但我不明白。我有一个带有一些值的课程,如下所示:
class test_one{
private $value1, $value2;
public function __construct($value1,$value2){
$this->$value1 = $value1;
$this->$value2 = $value2;
}
}
现在我想创建二十个此类的对象。
C#中的代码看起来像这样:
ref = new test_one[20];
所以我的问题是:如何创建20个相同类的对象并将其保存在引用中,以便可以通过它们的索引来查找它们?
答案 0 :(得分:1)
您可以按照以下方式进行操作:
<?php
class test_one{
private $value1, $value2;
public function __construct($value1,$value2){
$this->value1 = $value1;
$this->value2 = $value2;
}
}
for($i=1; $i<=20; $i++) {
$var = "object" . $i;
$$var = new test_one($value1 = $i, $value2 = $i*$i);
}
// show, say, object20
echo '<pre>';
print_r($object20);
echo '</pre>';
输出:
test_one Object
(
[value1:test_one:private] =>
[value2:test_one:private] =>
[20] => 20
[400] => 400
)
答案 1 :(得分:1)
您需要一个循环,如评论中所述。简单的循环可以是:
$i = 0;
while ($i++ < 20) {
$arr_of_objects[] = new test_one();
}
此外,正如注释也是所注意到的那样,无需使用$
就可以为类属性分配值:
public function __construct($value1,$value2){
$this->value1 = $value1;
$this->value2 = $value2;
//----^ no $ here
}