[英]split array into comma separated values
我有一个像这样的数组$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
我应该怎么得到结果?
尝试
$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']."',";
}
我正在使用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;
使用此技术,您将没有最后一个逗号。
或者您可以使用我在这里找到的这项技术
$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));
奇怪!! 它应该工作。
您如何定义$email
数组? 您可以提供代码结构吗?
如果您有这样的东西,那一定可以。
$email = array('email1','email2');
echo implode(", ",$email);
您可以尝试使用php的csv函数
<?php
$file = fopen("email.csv","w");
foreach ($yourArray as $value)
{
fputcsv($file,explode(',',$value));
}
fclose($file);
?>
您也可以使用array_map将数组的数组简化为字符串数组。
$actualEmails = array_map (function ($e) {
return $e ['email_id'];
}, $email);
echo "'" . implode ("','", $actualEmails) . "'";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.