使用给定键将对象添加到数组

时间:2013-06-22 18:31:27

标签: php arrays oop

我有一个私有数组的类。 当我导入文件时,我添加了想要将新对象(已创建)添加到此数组以供进一步使用。 我在对象中有一个我想用作键的名字。所以:

<?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没有。有谁知道这是怎么回事?

编辑:稍微更改了示例代码。这不是我的生产代码。我希望我有一个,但它保持为零。只有当我不使用密钥或硬编码密钥时,才会追加该对象。

1 个答案:

答案 0 :(得分:0)

好的,我发现了问题。 @Barmar,@ AlexShesterov感谢您的帮助。

问题是在添加到对象之前它没有被修剪。 因此,在添加trim($ value)后,问题解决了所有元素,并将元素添加到数组中:)