Конвертировать массив PHP в одну переменную
То, что я пытаюсь сделать, это проанализировать адреса CC из некоторых почтовых заголовков, используя PHP, они представляются в виде массива (как ни странно, даже если это всего один адрес). И я хотел бы просто преобразовать массив в одну длинную переменную.
Например, если бы у меня был следующий массив: array(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 Address is...Array"
Есть ли способ выполнить то, что я хочу? Я должен отметить, что в качестве его CC-адресов я не всегда буду знать, 0 его адресов или несколько, или где-нибудь между ними.
Я также попробовал несколько вещей с print_r и var_dump, но они не вернули результаты, которые я ожидал увидеть (адреса электронной почты). Я думаю, что var_dump все еще показывал "Массив" (или ничего), а print_r просто сказал "CC Address is ...1".
Любая помощь приветствуется.
3 ответа
http://php.net/manual/en/function.implode.php посмотрите здесь.
$newccAddress = implode(",", $ccAddress);
Вы хотите использовать implode
функция. Как в, $result = implode(',', array(bob@example.com, bill@example.com))
, который вернул бы ваш результат.
В этом примере вы можете использовать implode()
без причины
Если говорить о "Преобразовании массива PHP в одну переменную" в целом, то здесь вы захотите взглянуть на array_reduce()
зверь.