【问题标题】:Read value out af an array in an PHP object从 PHP 对象的数组中读取值
【发布时间】:2019-10-01 23:55:26
【问题描述】:

根据这个问题: Get specific data out of php object

我有类似的情况:

print_r($message->getCc()->getAddress());

出现这个错误:

Fatal error: Uncaught Error: Call to a member function getAddress() on array

如果我看到这个:

print_r($message->getCc());

看起来,对象内部有一个数组:

Array ( [0] => Ddeboer\Imap\Message\EmailAddress Object 
( 
[mailbox:Ddeboer\Imap\Message\EmailAddress:private] => mail 
[hostname:Ddeboer\Imap\Message\EmailAddress:private] => domain.de 
[name:Ddeboer\Imap\Message\EmailAddress:private] => 
[address:Ddeboer\Imap\Message\EmailAddress:private] => mail@spam.de )
 )

Whitch 似乎是合乎逻辑的,如果有更多的复写本。

但是我如何获得带有地址的数组?

【问题讨论】:

  • 看来你需要$message->getCc()[0]->getAddress()
  • 打印命令生成Array ( [0] .. 您不能使用这些值,因为它们是私有的。确保这个类有一个方法来得到你想要的。
  • 是的,这适用于静态情况。但是我在 $message 上有一个循环,并且希望在每个循环中都有 CC 接收器的数组。
  • 来自这里的班级:github.com/ddeboer/imap 为什么他们不能使用?

标签: php arrays object


【解决方案1】:

这行得通:

foreach ($message->getTo() as $To) {
    echo $To->getName() . " (" . $to->getAddress() . ") ";
}

foreach ($message->getCc() as $Cc) {
    echo $Cc->getName() . " (" . $to->getAddress() . ") - ";
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    • 2020-08-07
    • 1970-01-01
    相关资源
    最近更新 更多