php 如何从数组类型的Symfony类对象中获取字符串?

30byixjq  于 6个月前  发布在  PHP
关注(0)|答案(1)|浏览(67)

我有一个名为Address的Symfony类对象。有一个内置的Getters和Setters,如getFrom和getTo。这些方法返回类地址的数组。
我想把这些数组转换成字符串。我怎么才能从这个数组类型的Symfony类对象中获得电子邮件和地址字符串?
我试过:

  • 我尝试使用var_dump($EmailSource->getFrom()),但它返回以下内容

对象(Symfony\Component\Mime\Address)#60(2){ [“address”:“Symfony\Component\Mime\Address”:private]=> string(32)“email protected(https://stackoverflow.com/cdn-cgi/l/email-protection)“[“name”:“Symfony\Component\Mime\Address”:private]=> string(9)“test Name”}

  • 我尝试json_encode($EmailSource->getFrom()),但它返回empty {}
  • 我尝试serialize($EmailSource->getFrom()),但返回

字符串(199)“a:1:{i:0;O:30:“Symfony\Component\Mime\Address”:2:{s:39:“Symfony\Component\Mime\Addressaddress”;s:32:“email protected(https://stackoverflow.com/cdn-cgi/l/email-protection)“;s:36:“Symfony\Component\Mime\Addressname”;s:9:“test Name”;}}”

qrjkbowd

qrjkbowd1#

您可以使用Address类的getAddress()getName()方法分别获取电子邮件地址和姓名。

$from = $EmailSource->getFrom();

foreach ($from as $address) {
    $email = $address->getAddress();
    $name = $address->getName();

    // Now you can use $email and $name as strings
}

字符串
在这段代码中,$EmailSource->getFrom()返回一个Address对象的数组。foreach循环遍历这个数组,对于每个Address对象,它调用getAddress()来获取电子邮件地址,调用getName()来获取名称。

相关问题