我道歉,我已经涉足了一些PHP,但直到现在都没有做过任何严肃的事情。
基本上,我有类似的东西:
class MyClass
{
function _construct($var1, $var2)
{
//property assignments
}
}
function doStuff($array)
{
//do stuff to $array
}
$myArray = array();
$myVar1 = "foo";
$myVar2 = "bar";
$myVar3 = "test"
$myVar4 = "aaaaa"
//etc...
我想要做的是创建MyClass
的实例并将其存储到$myArray
。我知道我可以做到以下几点:
$classInstance = new MyClass($myVar1, $myVar2);
$myArray[] = $classInstance
$anotherInstance = new MyClass($myVar3, $myVar4);
$myArray[] = $anotherInstance
//etc...
此过程将按顺序多次(无循环)完成。一旦我多次这样做,我将做以下事情:
doStuff($myArray);
在这个函数中,我将使用foreach
等循环。这将是乏味的。我想知道的是,有什么方法可以做(像我知道这不是正确的语法):
$myArray[] = new MyClass($myVar1, $myVar2);
$myArray[] = new MyClass($myVar3, $myVar4);
//etc...
doStuff($myArray);
任何帮助将不胜感激。谢谢!
答案 0 :(得分:0)
$myArray = array(
new MyClass('foo', 'bar'),
new MyClass('test', 'aaaaa')
);
答案 1 :(得分:0)
语法$myArray[] = new MyClass($myVar3, $myVar4);
已经有效。您可以按照自己的意愿行事:
$arr = array();
$arr[] = new stdClass;
$arr[] = new stdClass;
$arr[] = new stdClass;
$arr[] = new stdClass;
$arr[] = new stdClass;
var_dump($arr);
array(5) {
[0]=>
object(stdClass)#1 (0) {
}
[1]=>
object(stdClass)#2 (0) {
}
[2]=>
object(stdClass)#3 (0) {
}
[3]=>
object(stdClass)#4 (0) {
}
[4]=>
object(stdClass)#5 (0) {
}
}