Comment convertir tableau en une chaîne en utilisant des méthodes autres que JSON?
-
25-10-2019 - |
Question
Quelle est une fonction en PHP utilisé pour convertir tableau à chaîne, autre que l'utilisation JSON?
Je sais qu'il ya une fonction qui fait directement comme JSON. Je ne me souviens pas.
La solution
serialize()
est la fonction que vous recherchez. Il renvoie une représentation de chaîne de son tableau d'entrée ou d'un objet dans un format interne spécifique à PHP. La chaîne peut être convertie en arrière à sa forme originale avec unserialize()
.
Mais méfiez-vous, que tous les objets sont sérialisables, ou certains peuvent être que partiellement sérialisable et incapable d'être complètement restaurée avec unserialize()
.
$array = array(1,2,3,'foo');
echo serialize($array);
// Prints
a:4:{i:0;i:1;i:1;i:2;i:2;i:3;i:3;s:3:"foo";}
Autres conseils
Utilisation de la fonction implode()
:
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
echo $comma_separated; // lastname,email,phone
sortie lisible!
echo json_encode($array); //outputs---> "name1":"value1", "name2":"value2", ...
ou
echo print_r($array, true);
Vous cherchez serialize () . Voici un exemple:
$array = array('foo', 'bar');
//Array to String
$string = serialize($array);
//String to array
$array = unserialize($string);
Une autre bonne alternative est http_build_query
$data = array('foo'=>'bar',
'baz'=>'boom',
'cow'=>'milk',
'php'=>'hypertext processor');
echo http_build_query($data) . "\n";
echo http_build_query($data, '', '&');
Affichera
foo=bar&baz=boom&cow=milk&php=hypertext+processor
foo=bar&baz=boom&cow=milk&php=hypertext+processor
Plus d'infos ici http://php.net/manual/en /function.http-build-query.php
php utilisation implode()
ou serialize()
tableau d'affichage dans la belle façon:
function arrayDisplay($input)
{
return implode(
', ',
array_map(
function ($v, $k) {
return sprintf("%s => '%s'", $k, $v);
},
$input,
array_keys($input)
)
);
}
$arr = array('foo'=>'bar',
'baz'=>'boom',
'cow'=>'milk',
'php'=>'hypertext processor');
echo arrayDisplay($arr);
Affiche:
foo => 'bar', baz => 'boom', cow => 'milk', php => 'hypertext processor'
Il existe différentes façons de le faire certains d'entre eux a donné.
implode(), join(), var_export(), print_r(), serialize(), json_encode()
exc ... Vous pouvez également écrire votre propre fonction sans ceux-ci:
Une boucle de For()
est très utile. Vous pouvez ajouter la valeur de votre tableau à une autre variable comme ceci:
<?php
$dizi=array('mother','father','child'); //This is array
$sayi=count($dizi);
for ($i=0; $i<$sayi; $i++) {
$dizin.=("'$dizi[$i]',"); //Now it is string...
}
echo substr($dizin,0,-1); //Write it like string :D
?>
Dans ce code, nous avons ajouté les valeurs et la virgule de $ Dizi à $ Dizin:
$dizin.=("'$dizi[$i]',");
$dizin = 'mother', 'father', 'child',
Il est une chaîne, mais il a une virgule supplémentaire:)
Et puis nous avons supprimé la dernière virgule, substr($dizin, 0, -1);
Sortie:
'mère', 'père', 'enfant'