Quelle est la meilleure méthode pour convertir un tableau PHP en chaîne?
J'ai la variable $type
qui est un tableau de types.
$type = $_POST[type];
Je veux le stocker comme une chaîne unique dans ma base de données avec chaque entrée séparée par |
:
Sports | Festivals | Autre
Réponses:
Utiliser imploser
la source
$_POST
si vous utilisez des entrées de formulaire nommées par tableau.Vous pouvez utiliser json_encode ()
Plus tard, utilisez simplement json_decode () pour décoder la chaîne de votre base de données. Tout le reste est inutile, JSON garde intacte la relation de tableau pour une utilisation ultérieure!
la source
POURQUOI JSON: Vous pouvez l'utiliser avec la plupart des langages de programmation, la chaîne créée par la fonction serialize () de php est lisible en PHP uniquement, et vous n'aimerez pas stocker de telles choses dans vos bases de données spécialement si la base de données est partagée entre des applications écrites en différents langages de programmation
la source
Non, vous ne voulez pas le stocker comme une seule chaîne dans votre base de données comme ça.
Vous pouvez utiliser,
serialize()
mais cela rendra vos données plus difficiles à rechercher, plus difficiles à utiliser et gaspillera de l'espace.Vous pouvez également effectuer un autre encodage, mais il est généralement sujet au même problème.
La raison pour laquelle vous avez une base de données est que vous pouvez accomplir un travail comme celui-ci de manière triviale. Vous n'avez pas besoin d'une table pour stocker les tableaux, vous avez besoin d'une table que vous pouvez représenter comme un tableau.
Exemple:
Vous devez simplement sélectionner les données de la table avec SQL, plutôt que d'avoir une table qui ressemble à:
Ce n'est pas ainsi que quelqu'un conçoit un schéma dans une base de données relationnelle, cela va totalement à l'encontre de son objectif.
la source
''
au lieu de\'
?L'un des meilleurs moyens:
la source
json_decode
gâche le format, ce qui cause de la confusion.implode () :
Cependant, Incognito a raison, vous ne voulez probablement pas le stocker de cette façon - c'est un gaspillage total de la puissance relationnelle de votre base de données.
Si vous êtes déterminé à sérialiser la sérialisation, vous pouvez également envisager d'utiliser json_encode ()
la source
Celui-ci enregistre CLÉS ET VALEURS
J'espère que cela aide quelqu'un.
la source
vous pouvez maintenant insérer cette valeur $ string_array dans la base de données
la source
Pour les tableaux associatifs de magasin, vous pouvez utiliser
serialize
:Et chargez en utilisant
unserialize
:Mais si
.php
vous avez besoin de créer des fichiers dinamic avec un tableau (par exemple des fichiers de configuration), vous pouvez utiliservar_export(..., true);
, comme ceci:Enregistrer dans le fichier:
Obtenez les valeurs du tableau:
la source
Vous pouvez utiliser la fonction de chaîne PHP
implode()
Comme,
Si, par exemple,
$sports='football';
$festival='janmastami';
$food='biriyani';
La sortie serait alors:
football|janmastami|biriyani
Pour plus de détails sur la fonction implode () de PHP, reportez-vous à w3schools
la source
il y a plusieurs façons,
les deux meilleurs moyens pour cela sont
la source