Вы можете передать массив с одним объектом внутри него. Или используйте полиморфный конструктор / функцию настройки.
Передача массива с одним объектом довольно очевидна, как это сделать, вот несколько других возможных способов борьбы с ним:
function test($var)
{
if(is_a($var,"ClassName")) //Test to see if the passed variable is a member of the class and not an array and put it in an array if so
{
$var = array($var);
}
foreach($var as $v)
{
//Do stuff
}
}
function test($var)
{
if(is_array($var)) //Test if object is array or class, call different functions depending on which it is
{
call_user_func_array(array($this,'doArray'),$var);
}
elseif(is_a($var,"Classname"))
{
call_user_func_array(array($this,'doObject'),$var);
}
}