[英]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.