将逗号分隔值转换为双引号逗号分隔字符串
Posted
技术标签:
【中文标题】将逗号分隔值转换为双引号逗号分隔字符串【英文标题】:Converting Comma Separated Value to Double Quotes comma separated string 【发布时间】:2012-07-05 08:14:57 【问题描述】:我有一个逗号分隔的值,例如
alpha,beta,charlie
如何转换成
"alpha","beta","charlie"
使用php的单一功能而不使用str_replace?
【问题讨论】:
我不想使用多行代码来执行此操作。我认为php中可能有一个内置函数可以做到这一点 【参考方案1】:Richard Parnaby-King 函数的替代方案(更短):
function addQuotes($string)
return '"'. implode('","', explode(',', $string)) .'"';
echo addQuotes('alpha,beta,charlie'); // = "alpha","beta","charlie"
【讨论】:
不仅更短,而且没有无用的循环和字符串连接 嘿 jexat,感谢您的回复,但我正在寻找一个内置功能。但是我认为如果我想要更少的代码行,那么使用 str_replace 是更好的选择。代码在这里: $rolestring = "'".str_replace(",","','",$roles)."'";【参考方案2】:怎么样
<?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_replce 更像 $rolestring = "'".str_replace(",","','",$roles)."'";【参考方案3】:/**
* 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"
【讨论】:
以上是关于将逗号分隔值转换为双引号逗号分隔字符串的主要内容,如果未能解决你的问题,请参考以下文章