Notice: Array to string conversion - Why?

Lee picture Lee · Aug 2, 2010 · Viewed 11.2k times · Source

Hi im trying to execute the following PHP code, however im receiving an error. Im passing a reference into the core class, which i want to assign to a variable within the classes scope..

Notice: Array to string conversion

Thanks in advance..

$core = new core($config);
$core->execute();   

class core
{
   private $config;

   public function __construct(&$config)
   {
      $this->$config = $config;
   }

   public function execute()
   {
      $this->set_path();
   }

   private function set_path()
   {
      return true;      
   }  
}

Answer

Guttsy picture Guttsy · Aug 2, 2010

Well, first off....

$this->$config

The second $ in $config should be removed since otherwise it's trying to access the variable with the name given by the string within $config. (e.g., if $config held "test" as a value, you'd be accessing the "test" variable within your class: $this->test)

What is $config when it is passed in, anyway? (String, array, object, etc?)