簡體   English   中英

將數組拆分為逗號分隔的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM