【问题标题】:Convert PHP Array to a single Variable将 PHP 数组转换为单个变量
【发布时间】:2011-12-18 01:53:38
【问题描述】:

我正在尝试使用 PHP 从一些邮件标头中解析 CC 地址,它们以数组的形式出现(奇怪的是,即使它只有一个地址)。而且我只想将数组转换为一个长变量。

例如,如果我有以下数组: 数组(bob@example.com, bill@example.com);

然后我想将其转换为单个变量,可能类似于 'bob@example.com,bill@example.com'

我尝试了几件事,我认为应该有效的主要方法如下:

$ccList[]=$headerinfo->cc;   

foreach( $ccList as $key=>$val ){
   $ccAddress .= $val.","; 
   }
Sys::log(LOG_ALERT,'CC Address is..'.$ccAddress);

但是当我得到那个日志文件时,它显示“CC 地址是...数组”,

有什么方法可以实现我想要的吗?我应该注意,作为它的 CC 地址,我并不总是知道它是 0 地址还是多个地址或介于两者之间的任何地址。

我还尝试了一些关于 print_r 和 var_dump 的操作,但它们没有返回我期望看到的结果(电子邮件地址)。我认为 var_dump 仍然显示“Array”(或什么都没有),而 print_r 只是说“CC Address is ...1”。

感谢任何帮助。

【问题讨论】:

  • 首先使用 var_dump 检查 $val var 中的内容。无论如何,我看不到您如何初始化 $ccAddress 变量。
  • 回显 $key 和 $val。确保您拥有 ccList。

标签: php arrays email variables carbon-copy


【解决方案1】:

在这个例子中,你可以使用implode(),关闭原因

如果要谈论“将 PHP 数组转换为单个变量”一般而言,您可以在此处查看 array_reduce() beast。

【讨论】:

    【解决方案2】:

    您想使用implode 函数。如$result = implode(',', array(bob@example.com, bill@example.com)),它将返回您的结果。

    http://php.net/manual/en/function.implode.php

    【讨论】:

      【解决方案3】:

      http://php.net/manual/en/function.implode.php 看这里。

      $newccAddress = implode(",", $ccAddress);
      

      【讨论】:

      • 当我回显 key/val 我得到: Key is..0 Val is..Array 但你的命令的输出是:“newCC Address outside loop is..”
      • 根据您的情况调整内爆方法。 implode 根据需要创建单个变量,但您的问题与创建单个变量不同。确保你从 $headerinfo->cc; 得到什么
      • 是的,我不明白的是,当我打印 $headerinfo->cc 时,我得到“Array”,但是当我打印 var_dump($headerinfo->cc) 时,我什么也得不到。这个问题是通过一个函数完成的,所以我必须打印到仪表板日志才能看到结果。 “Array”的输出不是表明它不是空的吗?
      • 叹息,我在代码中进一步研究了 imap_headerinfo。事实证明,您可以使用 cc 和 ccaddress。我只是使用了 ccaddress,它给了我我想要的东西。谢谢无论如何伙计们,否则我需要内爆!
      猜你喜欢
      • 2021-09-08
      • 2011-08-05
      • 1970-01-01
      • 1970-01-01
      • 2014-02-14
      • 2018-04-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多