J'ai quelque chose comme ceci:Comment se débarrasser des valeurs vides lors de l'ajout chaîne en php
public function options()
{
$out = '';
$docs = $this->getAll();;
foreach($docs as $key => $doc) {
$out .= ',{"label" : "' . $doc['name'] . '", "value" : "' . $doc['id'] .'"}';
}
return $out;
}
Il me donne une liste d'options de la DB, mais il me donne aussi une valeur nulle au sommet .
si je l'écris comme ceci:
public function options()
{
//$out = '';
$docs = $this->getAll();;
foreach($docs as $key => $doc) {
$out = '';
$out .= '{"label" : "' . $doc['name'] . '", "value" : "' . $doc['id'] .'"}';
}
return $out;
}
Il ne me donne pas la valeur nulle, mais elle retourne une seule valeur.
$out .= ',{"label" : "' . $doc['name'] . '", "value" : "' . $doc['id'] .'"}';
Dans cette ligne si je ne fais pas un ,
il me donne un message d'erreur, parce que j'ai $out = '';
en haut. Maintenant, vous pouvez me donner une idée de comment puis-je obtenir toutes les valeurs de la base de données sans la valeur vide au début.
J'ai aussi une autre question, pourquoi nous utilisons ;;
(double point-virgule) dans ce code:
$docs = $this->getAll();;
Le double point-virgule ne devrait pas être présent. Bien qu'il ne produise pas d'erreur de syntaxe, c'est incorrect. –
Et comme quelqu'un a répondu ci-dessous, PHP a une fonction intégrée pour faire face à JSON - json_encode et json_decode –