简体   繁体   English

PHP对象从数组中获取价值

[英]PHP object get value from array

I have written a class like this:- 我写过这样的课:

class Mail{
    function register()
    {
    return array('message_subject'=>$message_subject,'message_content'=>$message_content);
    }
}

Then in the main page, I tried:- 然后在主页上,我尝试了:-

echo Mail::register();

and the main page gave me values of "Array". 并且主页为我提供了“ Array”的值。

how shall I modify the Mail::register(); 我应该如何修改Mail :: register(); so that it can receive "message_subject" and "message_content" respectively? 这样才能分别接收“ message_subject”和“ message_content”?

assign the Mail::register() into a variable and then print it because you are retruning an array from that. 将Mail :: register()分配给一个变量,然后将其打印出来,因为您要从中提取一个数组。 Array is always printed by print_f not by echo 数组始终由print_f打印,而不由echo打印

$mail = Mail::register();
echo'<pre>';
print_r($mail);
echo '</pre>';
?>

with parameters 带参数

class Mail{
    function register($message_subject, $message_content)
    {
        return array('message_subject'=>$message_subject,'message_content'=>$message_content);
    }
}

echo Mail::register('foo', 'bar')

or with member fields 或带有成员字段

class Mail {
  private $message_subject;
  private $message_content;

  public function __construct($subject, $content) {
    $this->message_subject = $subject;
    $this->message_content = $content;
  }

  function register() {
    return array('message_subject' => $this->message_subject,'message_content' => $this->message_content);
  }
}

$mail = new Mail('foo', 'bar');
$mail->register();

You can try 你可以试试

$mail = new Mail();
list($subject, $content) = $mail->register();

Or 要么

$mail = new Mail();
$data = $mail->register();
printf("%s \n %s", $data['message_subject'], $data['message_content']);

and my guess is that your class is like this : 我的猜测是您的课堂是这样的:

class Mail {
    private $subject, $content;

    function __construct() {
        $this->subject = "Demo";
        $this->content = "Hello World";
    }

    function register() {
        return array(
                'message_subject' => $this->subject,
                'message_content' => $this->content
        );
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM