注意:数组到字符串的转换 - 为什么?

发布于 2024-09-12 16:07:17 字数 469 浏览 6 评论 0原文

您好,我尝试执行以下 PHP 代码,但是收到错误。我将引用传递到核心类中,我想将其分配给类范围内的变量。

注意:数组到字符串的转换

提前致谢。

$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;      
   }  
}

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;      
   }  
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

煞人兵器 2024-09-19 16:07:17

好吧,首先......

$this->$config

应该删除 $config 中的第二个 $ ,否则它会尝试使用 中的字符串给出的名称访问变量$config. (例如,如果 $config 将 "test" 作为值,您将访问类中的 "test" 变量: $this-> test)

传入时,$config 是什么? (字符串、数组、对象等?)

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?)

守不住的情 2024-09-19 16:07:17

私有 $config = 数组();

private $config = array();

且行且努力 2024-09-19 16:07:17

$this->config = $config;

$this->config = $config;

拍不死你 2024-09-19 16:07:17

这在 php 5.2 中没有错误。
您使用什么版本的 php?

<?php
class core
{
   private $config;

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

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

   private function set_path()
   {
      return true;      
   }  
}

$config=array(
     'a'    => '1'
    ,'b'    => '2'
    );

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

This works without errors in php 5.2.
What version of php are you using?

<?php
class core
{
   private $config;

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

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

   private function set_path()
   {
      return true;      
   }  
}

$config=array(
     'a'    => '1'
    ,'b'    => '2'
    );

$core = new core($config);
$core->execute();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文