将逗号分隔的值转换为双引号逗号分隔的字符串

7

I have a comma separated value like

alpha,beta,charlie

如何将其转换为?
"alpha","beta","charlie"

在不使用 str_replace 的情况下,在 PHP 中使用单个函数?


我不想写多行代码来完成这个任务。我认为PHP中可能有一个内置函数可以做到这一点。 - Neeraj
3个回答

15

除了 Richard Parnaby-King 的函数(更短)外,还可以采用以下方法:

function addQuotes($string) {
    return '"'. implode('","', explode(',', $string)) .'"';
}

echo addQuotes('alpha,beta,charlie'); // = "alpha","beta","charlie"

不仅更短,而且没有无用的循环和字符串拼接。 - feeela
嘿jexat,谢谢你的回复,但我正在寻找一个内置函数。但是,如果我想要更少的代码行,则使用str_replace是更好的选择。代码在这里:$rolestring = "'".str_replace(",","','",$roles)."'"; - Neeraj

0
/**
 * Take a comma separated string and place double quotes around each value.
 * @param String $string comma separated string, eg 'alpha,beta,charlie'
 * @return String comma separated, quoted values, eg '"alpha","beta","charlie"'
 */
function addQuote($string)
{
  $array = explode(',', $string);
  $newArray = array();
  foreach($array as $value)
  {
    $newArray[] = '"' . $value . '"';
  }
  $newString = implode(',', $newArray);
  return $newString;
}

echo addQuote('alpha,beta,charlie'); // results in: "alpha","beta","charlie"

回显 addQuote(' alpha,beta,charlie '); //结果为:"alpha","beta","charlie"


0

怎么样?

    <?php
    $arr = spliti(",","alpha,beta,charlie");
    for($i=0; $i < sizeof($arr); $i++)
    $var = $var . '"' . $arr[$i] . '",';

    //to avoid comma at the end
    $var = substr($var, 0,-1);
    echo $var;
?>

使用函数:

<?php
function AddQuotes($str){
    $arr = spliti(",",$str);
    for($i=0; $i < sizeof($arr); $i++)
    $var = $var . '"' . $arr[$i] . '",';

    //to avoid comma at the end
    $var = substr($var, 0,-1);
    echo $var;
}
AddQuotes("alpha,beta,charlie");
?>

谢谢您的回复,但我正在寻找一个内置函数或者非常少的代码行。因此,我认为使用str_replace更好,例如$rolestring = "'".str_replace(",","','",$roles)."'"; - Neeraj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接