将数组拆分为逗号分隔值

时间:2015-09-17 04:44:59

标签: php

我有一个像这样的数组$email

Array
(
    [email_id] => bob2@example.com
)
Array
(
    [email_id] => bob3@example.com
)
Array
(
    [email_id] => bob4@example.com
)

我需要这个数组采用这种格式

'bob2@example.com', 'bob3@example.com', 'bob4@example.com' // RESULT EXPECTED

我这样做是为了得到我的结果:

$emails = implode(", " , $email);

但结果如下:

bob2@example.combob3@example.combob4@example.com // ACTUAL RESULT

我该怎么做才能得到结果?

5 个答案:

答案 0 :(得分:2)

尝试

$email = array(
    array('email_id' => 'bob2@gmail.com'),
    array('email_id' => 'bob3@gmail.com'),
    array('email_id' => 'bob4@gmail.com'),
    array('email_id' => 'bob5@gmail.com'),
    );

foreach($email as $id)
{
    echo "'".$id['email_id']."',";
}

答案 1 :(得分:1)

我正在使用Hassaan的技术:

$email = array(
    array('email_id' => 'bob2@gmail.com'),
    array('email_id' => 'bob3@gmail.com'),
    array('email_id' => 'bob4@gmail.com'),
    array('email_id' => 'bob5@gmail.com'),
);

foreach($email as $id){
    $emails .= $id['email_id'].",";
}

$emails = substr($emails, 0, strlen($emails) -1 );

echo $emails;

使用这种技术,你不会有最后一个逗号。

或者您可以使用我找到的here

这种技术
$input = array(
    array('email_id' => 'bob2@gmail.com'),
    array('email_id' => 'bob3@gmail.com'),
    array('email_id' => 'bob4@gmail.com'),
    array('email_id' => 'bob5@gmail.com')
);

echo implode(',', array_map(function ($entry) {
  return $entry['email_id'];
}, $input));

答案 2 :(得分:0)

奇怪!!它应该工作。

您如何定义$email阵列?你能提供代码结构吗?

如果你有类似的东西那么肯定会有用。

$email = array('email1','email2');
echo implode(", ",$email);

答案 3 :(得分:0)

您可以尝试使用php的csv函数

<?php

 $file = fopen("email.csv","w");

 foreach ($yourArray as $value)
   {
   fputcsv($file,explode(',',$value));
   }

 fclose($file); 
?>

答案 4 :(得分:0)

您还可以使用array_map将数组数组简化为一个字符串数组。

$actualEmails = array_map (function ($e) {
    return $e ['email_id'];
}, $email);
echo "'" . implode ("','", $actualEmails) . "'";