2012-07-05 3 views
6

У меня есть значения, разделенные запятыми, какКонвертирование значения, разделенные запятыми в двойных кавычках, разделенных запятыми

alpha,beta,charlie 

как я могу преобразовать его в

"alpha","beta","charlie" 

с использованием одного несильно РНР без использования str_replace?

+0

Зачем нужны ограничения? – SpacedMonkey

+0

Я не хочу иметь несколько строк кода для этого. Я думал, что может быть встроенная функция в php для этого – neeraj

ответ

12

В качестве альтернативы функции Ричарда Парнаби-короля (короче):

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

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

Не только короче, но без бесполезных циклов и конкатенации строк – feeela

+0

Привет, я благодарен за ваш ответ, но я искал встроенную функцию. Но я думаю, что использование str_replace - лучший вариант, если я хочу меньше строки кода. код здесь: $ rolestring = "'" .str_replace (",", "', '", $ role). "'"; – neeraj

+0

Хорошо, что вы все равно должны использовать 'str_replace' – jexact

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"

+0

Спасибо за ответ – neeraj

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"); 
?> 
+0

Спасибо за ваш ответ, но я искал встроенную функцию или очень маленькую строку кода. Поэтому я думаю, что использование str_replce лучше, чем $ rolestring = "" .str_replace (",", "','", $ role). "'; – neeraj

Смежные вопросы