我有以下代码,我试图为使用php pthreads的类中的数组赋值无效 - 我已经看过建议使用堆栈无效的解决方案:
<?php
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(E_ALL);
class WorkerThreads extends Thread
{
private $fromlist;
public function __construct()
{
$this->fromlist = array();
}
public function run()
{
$this->fromlist=array("hello"=>1,2);
$this->fromlist['hi']="!!!";
$this->fromlist[] = array("ho", 1);
}
}
$workers = new WorkerThreads();
$workers->start();
print_r($workers);
我得到以下结果:
WorkerThreads Object
(
[fromlist] => Array
(
[hello] => 1
[0] => 2
)
)
我期待看到更多的数组元素 - 尽量我可能无法添加更多元素。
我检查了语法,看起来很好 - 问题似乎是如何在pthreads中使用数组 - 我似乎无法理解如何做到这一点。
谁能告诉我我做错了什么?
或者建议上面的一些代码,以便我可以找到一个有效的解决方案?
答案 0 :(得分:1)
将$ fromlist变量添加到run()函数可以解决问题。