Qu'est-ce qu'une fonction dans PHP utilisée pour convertir un tableau en chaîne, autre que d'utiliser JSON?
Je sais qu'il existe une fonction qui fait directement comme JSON. Je ne me souviens tout simplement pas.
serialize()
est la fonction que vous recherchez. Il renverra une représentation sous forme de chaîne de son tableau ou de son objet en entrée dans un format interne spécifique à PHP. La chaîne peut être reconvertie dans sa forme originale avec unserialize()
.
Mais attention, tous les objets ne sont pas sérialisables, ou certains peuvent ne l'être que partiellement et ne peuvent pas être restaurés complètement 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";}
Utilisez la fonction implode()
:
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
echo $comma_separated; // lastname,email,phone
echo json_encode($array); //outputs---> "name1":"value1", "name2":"value2", ...
OR
echo print_r($array, true);
Vous recherchez 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, '', '&');
Va imprimer
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
utiliser php implode()
ou serialize()
Tableau d'affichage de belle manière:
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 y a différentes façons de faire ce que certaines d'entre elles ont donné. implode(), join(), var_export(), print_r(), serialize(), json_encode()
exc ... Vous pouvez également écrire votre propre fonction sans ces éléments:
Une boucle For()
est très utile. Vous pouvez ajouter la valeur de votre tableau à une autre variable comme celle-ci:
<?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]',");
Maintenant
$dizin = 'mother', 'father', 'child',
C'est une chaîne, mais elle a une virgule supplémentaire :)
Et puis nous avons supprimé la dernière virgule, substr($dizin, 0, -1);
Sortie:
'mère', 'père', 'enfant'