Pb avec json et fichiers php
Salut,
j'utilise des tableaux php que je transforme en format json , puis écrit des fichiers.
Cependant ma méthode est assez artisanale, et je vous soumet du code qui je pense, peut être améliorer.
Je voudrais qu'avec beaucoup moins d'instruction, j'arrive au même résultat.
Peut-être, emploi de la méthode serialize() ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
<?php if (is_file(NOM_FICHIER_TAG))
{
$file = file_get_contents(NOM_FICHIER_TAG);
$count = 0;
for ($i=0;$i<=strlen($file)-1;$i++)
{
if ($file[$i] == "{") $deb=$i;
if ($file[$i] == "}")
{
$fin=$i+1;
$ligne_tag[$count]= substr($file,$deb,$fin-$deb);
$count++;
}
}
$count = count($ligne_tag);
for ($i=0;$i<=$count-1;$i++)
{
$unparsed[$i] = json_decode($ligne_tag[$i]);
}
$count = count ($unparsed);
for ($i=0;$i<=$count-1;$i++)
{
foreach ($unparsed[$i] as $key => $value)
{
if ($key=="tag")
{
$tag[$i]=$value;
}
}
}
$array_keywords = array_unique($tag);
$keywords = implode ( "," , $array_keywords );
//var_dump($tag);
//exit(0);
}
else $ligne_tag=NULL;
?> |
Comme vous le voyez, je lis ensuite le fichier json,découpe celui-ci en élément de tableau jusqu'à {},
puis affecte la valeur $value à la clef $tag.
Je suis pratiquement sûr qu'il existe un moyen plus simple.
Le connaissez-vous ?
`
A propos des accolades dans json
Salut,
Ce que je cherche, c'est une méthode pour lire ce qu'il y a entre les accolades.
Est-ce que la fonction serialize fait ce genre de chose ?
J'espère être clair.