7
votes

Conversion de la valeur séparée des virgules sur une chaîne séparée par virgule

J'ai une valeur séparée par des virgules comme xxx

Comment puis-je le convertir en xxx

en utilisant un seul fonctionnement de PHP sans utiliser str_replace?


1 commentaires

Je ne veux pas avoir plusieurs lignes de code pour effectuer cela. Je pensais qu'il pourrait y avoir une fonction intégrée dans PHP pour faire cela


3 Réponses :


0
votes
/**
 * 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 commentaires

15
votes

Alternativement à la fonction de Richard Parnaby-King (Shorter):

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

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


2 commentaires

Non seulement plus courte, mais sans boucles inutiles et une concaténation de chaînes


Hey Jexat, merci pour votre réponse mais je cherchais une fonction intégrée. Mais je pense qu'utiliser str_replace est une meilleure option alors si je veux moins de ligne de code. Le code est ici: $ rolestring = "'" .str_replace ("," "," "," rôles $). "'";



0
votes

Qu'en est-il de xxx

avec fonction: xxx


1 commentaires

Merci de votre réponse, mais je cherchais une fonction intégrée ou une ligne de code très moins importante. Je pense donc que l'utilisation de Str_Replce est meilleure comme $ rolestring = "'" .str_replace ("," "," "," rôles $). "";