虽然老实说我不明白你为什么要这样做(关联数组本质上是仅数据对象)但如果你坚持:
你可以使用而不是在每个级别上将每个数组转换为对象以下“技巧/黑客”:
$object = json_decode(
json_encode(
array('some'=>array('multi'=>'Dimensional'),
'array'=>'that',
'you' => array('want' => 'to',
'turn' => 'into'),
'an' => 'object')));
这会将所有数组转换为 的实例stdClass
,我相信这是您想要的。
再说一次,我不得不说:PHP不是JavaScript,而且对象在 PHP 等语言中要贵得多(相对而言),然后它们在 JS 中。如果您不需要对象,我强烈建议您坚持使用 assoc 数组。
像对象一样,数组可以被类型提示:function foo (array $argument){}
如果你真的想把它们变成某个类的特定实例,为什么不改变构造函数来处理数组:
class My_Object extends stdClass
{
public function __construct(array $params = null)
{
if (!empty($params))
{
foreach ($params as $name => $value)
{
$this->{$name} = $value;//set everything
}
}
}
}
然后继续添加您想要添加到批次中的任何方法