1

我在下面创建了一个数组:

$email[] = $post[0];

$email[].= $post[2];

结果是:

$email = Array ( [JESSICA] => jessica.doe@laerdal.com ) 

然后我将它传递给类构造函数:

$email_user = new Email($id,$email,$subject,$heading,$messages,$keys);

该类如下所示:

class Email extends Users { 

protected $id;
public $strings;
public $user_email;
public $subject;
public $heading;
public $messages;
public $keys;

public function __construct($id,$user_email,$subject,$heading,$messages,$keys) {

parent::__construct($id);
$this->user_email = $user_email;
$this->subject = $subject;
$this->heading = $heading;
$this->messages = $messages;
$this->keys = $keys;

如果我测试看看 $this->user_email 是否是一个数组,使用:

if(is_array($this->user_email)) {
   echo "TRUE";
}

它返回假。怎么来的?

*我发现了问题,与名为 $email 的变量发生冲突。谢谢您的帮助。

4

2 回答 2

2

请注意,.=运算符的使用通常用于连接两个字符串。

通过说$email[] = somevalue,您实际上是在将值任意推入数组中,这对于您正在做的事情来说已经足够了。你最终得到:

$email[] = $post[0];
$email[] = $post[2];
于 2012-05-10T14:47:41.160 回答
0

尝试:

public $user_email = array();

删除连接:$email[].= $post[2]; $email[] = $post[2];很好。

于 2012-05-10T14:45:00.320 回答