代码之家  ›  专栏  ›  技术社区  ›  Coder_Craft

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

  •  0
  • Coder_Craft  · 技术社区  · 2 年前

    我有一个名为Address的Symfony类对象。有一个内置的Getters和Setter,如getFrom和getTo。这些方法返回类地址的数组。

    我想把这些数组转换成字符串。如何从这个数组类型的Symfony类对象中只获取电子邮件和地址字符串?

    我尝试过的:

    • 我试着使用 var_dump($EmailSource->getFrom()) 但它在下面返回这个

      object(Symfony\Component\Mime\Address)#60(2){ [“address”:“Symfony\Component\Mime\address”:private]=> 字符串(32)“ [email protected] " [“name”:“Symfony\Component\Mime\Address”:private]=> string(9)“测试名称” }

    *我试过了 json_encode($EmailSource->getFrom()) 但它回来了 empty {}

    • 我试过了 serialize($EmailSource->getFrom()) 但是返回

      string(199)“a:1:{i:0;O:30:”Symfony\Component\Mime\Address“:2:{s:39:”Symfony \Component \Mime\AAddressaddress“;s:32:” [email protected] “;s:36:”Symfony\Component\Mime\Addressname“;s:9:”测试名称“;}}”

    1 回复  |  直到 2 年前
        1
  •  0
  •   Karl Hill    2 年前

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

    $from = $EmailSource->getFrom();
    
    foreach ($from as $address) {
        $email = $address->getAddress();
        $name = $address->getName();
    
        // Now you can use $email and $name as strings
    }
    

    在该代码中, $EmailSource->getFrom() 返回的数组 住址 物体。这个 foreach 循环在此数组上迭代,对于每个 住址 对象,它调用 getAddress() 获取电子邮件地址和 getName() 以获取名称。