首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据另一个类的结果填充一个类中的对象数组

如何根据另一个类的结果填充一个类中的对象数组
EN

Stack Overflow用户
提问于 2014-11-17 15:11:57
回答 1查看 72关注 0票数 0

我有两门课如下所示

代码语言:javascript
复制
<?php
class firstClass extends Thread {
    public $Title;
public function __construct(){
    $this->Vita = "h"; //code with this line works
    $this->Vita = array();//If I define $this->Vita as an array, the variable from secondclass does not load into this variable.
}//construct
public function run(){}
public function function1(){
    $thread = new secondClass();
    $thread->start();
    $this->Vita[] = $thread->var1; // this line does not works. I cannot push into array
    //$this->Vita = $thread->var1; this line works
    print_r($this->Vita);
    }//function1
}//class first
class secondClass extends firstClass {
  public $var1;
  public function __construct(){}
  public function run(){
    $this->var1 = "Something";
 }//run
 }//class fetchLink

 $firstclassObject = new firstClass;
 $firstclassObject->function1();
?>  

正如您所看到的,我希望将$var1从第二个类传递给一个函数到第一个类。我接收到二等的$var1到第一类,但是当Vita是类型数组时,我不能将它推到$this->Vita变量中。如果Vita不是数组,它可以正常工作。

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-18 06:41:03

我可以设法解决这个问题。在扩展Thread的类中,似乎不支持修改数组的内容。

因此,我构建了另一个类,它不会在其他类之上扩展Thread,如下所示:

代码语言:javascript
复制
<?php
class main {
public $arry = array();

function one(){
 $thread = new secondClass();
 $thread->start();
 $arry[] = $thread->Vita;
print_r($arry);
}//function one
}//class main

$mainobj = new main;
$mainobj->one();

class firstClass extends Thread {
    public $Title;
public function __construct(){
    $this->Vita = "h"; //code with this line works
}//construct
public function run(){}
public function function1(){
    }//function1
}//class first
class secondClass extends firstClass {
public $var1;
public function __construct(){}

public function run(){
    $this->var1 = "HHHHHH";
    $this->Vita = $this->var1;
}//run
}//class fetchLink

$firstclassObject = new firstClass;
$firstclassObject->function1();
?>  

我将外部clas中的踏板调用为main,并从线程接收值。这样就行了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26975709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档