У меня есть значение, разделенное запятой, как
alpha,beta,charlie
как я могу преобразовать его в
"alpha","beta","charlie"
используя единую функцию php без использования str_replace?
В качестве альтернативы функции Ричарда Парнаби-короля (короче):
function addQuotes($string) { return '"'. implode('","', explode(',', $string)) .'"'; } echo addQuotes('alpha,beta,charlie'); // = "alpha","beta","charlie"
как насчет
<?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"); ?>
/** * 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"