Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les tutoriels > Non-Officiels > Site Web > PHP > Langage, bibliothèques et fonctions > Enregistrer et lire des données de fichiers .ini > Une page de gestion des fichiers .ini > Transformer un array > Lecture du tutoriel

Transformer un array

Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Avatar
Auteur : Kyle Katarn
Visualisations : 473

Plus d'informations Plus d'informations
Nous allons maintenant voir comment récupérer un array depuis un fichier .ini et inversement (en utilisant ce qu'on a vu précédemment) ; il nous sera utile de savoir modifier un array, vous savez bien entendu comment faire... :euh: Bon : pour ceux qui auraient un doute, voici les trois opérations qu'on peut lui faire subir.

Changer une valeur


Code : PHP
1
2
3
4
5
<?php
$groupe = "Louise";
$item = "age";
$array[$groupe][$item] = $valeur;
?>


Ajouter un item ou un groupe


Comme avant, sauf qu'il suffit de prendre pour groupe et item des noms qui n'y sont pas encore.

Supprimer un item ou un groupe


On supprime une entrée dans un array comme n'importe quelle autre variable avec unset() :
Code : PHP
1
2
3
4
<?php
unset($array[$groupe][$item]); //Supprime l'item
unset($array[$groupe]); //Supprime le groupe
?>


Avec ça, vous êtes parés pour ce chapitre.
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Du fichier à l'array

Pour récupérer le fichier entier dans un array, nous allons utiliser le code de la première partie en le changeant à peine :
Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$fichier="membres.ini";
$array=array();
if(file_exists($fichier) && $fichier_lecture=file($fichier))
   foreach($fichier_lecture as $ligne)
   {
     if(preg_match("#^\[(.+)\]\s+$#",$ligne,$matches))
     {
        $groupe=$matches[1];
        $array[$groupe]=array();
     }
     else
     {
        if($ligne[0]!=';')
        {
            list($item,$valeur)=explode("=",$ligne,2);
            $array[$groupe][$item]=$valeur;
        }
     }
   }
else
echo "Le fichier est introuvable ou incompatible<br />";
// Et voilà, $array contient le fichier membres.ini sous la forme d'un array à 2 niveaux.
?>

Reportez-vous au premier chapitre expliquant comment récupérer une valeur ; seule différence ici : on rentre les groupes et items dans $array.

De l'array au fichier

Voici donc la manipulation inverse dans laquelle on va également se servir de foreach, mais en utilisant en plus la clé, par exemple, pour un array structuré comme ça :
Code : Autre
1
2
3
4
5
6
7
$array
{
    [$key] => $value
    [$key] => $value
    [$key] => $value
    [$key] => $value
}

On peut parcourir cet array avec
foreach($array as $key => $value)
souvent utile quand on a un array associatif.
Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
<?php
$fichier_save="";
foreach($array as $key => $groupe_n)
{
    $fichier_save.="
[".$key."]";
    foreach($groupe_n as $key => $item_n)
    {
        $fichier_save.="
".$key."=".$item_n;
    }
}
$fichier_save=substr($fichier_save, 1); // On enlève le premier caractère qui est -si vous regardez bien- forcément une entrée à la ligne inutile 
if(false===@file_put_contents("membres.ini", $fichier_save))
{
    echo "Impossible d'écrire dans ce fichier";
}
?>

Vous savez maintenant comment récupérer un array, comment le modifier et sauver les modifications ! :)

Q.C.M.

Quelle fonction permet de supprimer une entrée dans un array ?
Comment récupérer la clé d'une entrée d'un array en le parcourant ?

Statistiques de réponses au QCM


Chapitre précédent Sommaire Chapitre suivant
Retour en haut Retour en haut


Créé : le 10/06/2007 à 23:05:56
Modifié : le 26/08/2008 à 10:36:33
Avancement : 0%
Licence : Copie non autorisée

L'orthographe, la grammaire et la présentation de ce tutoriel ont été vérifiées par les zCorrecteurs.

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 438 Zéros connectés | Requêtes SQL 8 requêtes | Temps de génération de la page : Total (SQL) 0.2448s (0.2321s)