我有一个带有私有数组的类。当我导入一个文件时,我想将新对象(已创建)添加到该数组以供进一步使用。我在对象中有一个我想用作键的名称。所以:
<?php
$object = new Object();
$object->Name = "test";
class OtherObject
{
private $loaded_files = array();
public function AddObject($fileObj)
{
echo count($this->loaded_files); //results 0
$this->loaded_files[$fileObj->Name] = clone $fileObj;
echo count($this->loaded_files); //results 0
//array_push($this->loaded_files, clone $fileObj);
//$this->loaded_files["hard-coded"] = clone $fileObj;
}
}
$otherObject = new OtherObject();
$otherObject->AddObject($object);
?>
正如您在我的示例中看到的那样,我想使用 Name 作为键并克隆对象,以便将其放入数组中。经过调查array_push()
(所以,没有密钥)和硬编码密钥工作正常,但$fileObj->Name
事实并非如此。有谁知道这怎么可能?
编辑:稍微更改了示例代码。这不是我的生产代码。我希望我有一个,但它保持为零。只有当我不使用密钥或硬编码密钥时,才会附加该对象。