Operation sur tableau php
Résolu/Fermé
nephis43
Messages postés
6
Date d'inscription
mardi 20 septembre 2011
Statut
Membre
Dernière intervention
22 septembre 2011
-
Modifié par nephis43 le 21/09/2011 à 14:52
nephis43 Messages postés 6 Date d'inscription mardi 20 septembre 2011 Statut Membre Dernière intervention 22 septembre 2011 - 22 sept. 2011 à 09:03
nephis43 Messages postés 6 Date d'inscription mardi 20 septembre 2011 Statut Membre Dernière intervention 22 septembre 2011 - 22 sept. 2011 à 09:03
A voir également:
- Operation sur tableau php
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Easy php - Télécharger - Divers Web & Internet
- Le fichier contient un tableau présentant un extrait des livres les plus prêtés à paris en 2016. filtrez le tableau pour ne faire apparaître que les bandes dessinées ado. puis filtrez le tableau pour ne faire apparaître que celles dont l'auteur est zep. quel est le titre de la bande dessinée ado de zep qui a été la plus prêtée d'après ce tableau ? ✓ - Forum Windows 10
3 réponses
mpmp93
Messages postés
6652
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 339
21 sept. 2011 à 16:08
21 sept. 2011 à 16:08
Bonjour,
Et un tableau dans un tableau comme ceci:
????
affiche
106
206
306
A noter qu'on peut gérer les index de clés comme ceci:
Je sais, c'est pas 'propre' comme des tables en SGBD, mais c'est une idée qui peut dépanner...
A+
Et un tableau dans un tableau comme ceci:
$voitures = array( 'renault' => array( 'clio', 'twingo', ), 'peugeot' => array( '106', '206', '306', ), );
????
$marque = $voitures['peugeot']; foreach($marque AS $key => $modele) { echo '<br/>'.$modele; }
affiche
106
206
306
A noter qu'on peut gérer les index de clés comme ceci:
$voitures = array( 'renault' => array( '1' => 'clio', '5' => 'twingo', ), 'peugeot' => array( '1' => '106', '16' => '206', '354' => '306', ), );
Je sais, c'est pas 'propre' comme des tables en SGBD, mais c'est une idée qui peut dépanner...
A+
nephis43
Messages postés
6
Date d'inscription
mardi 20 septembre 2011
Statut
Membre
Dernière intervention
22 septembre 2011
21 sept. 2011 à 16:48
21 sept. 2011 à 16:48
merci je vais regarder ça :)
nephis43
Messages postés
6
Date d'inscription
mardi 20 septembre 2011
Statut
Membre
Dernière intervention
22 septembre 2011
22 sept. 2011 à 09:03
22 sept. 2011 à 09:03
J'ai réussi, j'indique la réponse sur le forum si ça peut aider certain pour d'autres problèmes. a la fin du code de ma fonction j'ai montré un exemple qui déroule l'algo.
En espérant pouvoir aider quelqu'un =)
dans mon programme je fais appel à une fonction :
$tab3=array();
comparer_tableau($tab, $tab2, $tab3);
ma fonction est la suivante :
/*
Cette fonction recupere
-tab (constitué de la catégorie que l'on veut modifier + ses catégories filles)
-tab2 (constitué de toutes les catégories)
-tab3 initialement vide qui est passé par référence.
L objectif de la fonction est de récupérer dans tab3 toutes les catégories MOINS ( la catégorie traité et ses catégories filles )
*/
function comparer_tableau($tab, $tab2, &$tab3) {
//on parcours le tableau contenant toutes les catégories
foreach($tab2 as $valeur)
{
//on initialise une variable
$var=0;
//on parcours le tableau contenant la catégorie traitée + ses filles
foreach ($tab as $test)
{
// on incrémente une variable
if ($valeur[0] != $test[0])
$var++;
//si cette variable est égal à la taille du tableau qui contient la catégorie traitée + ses filles
//cela veut dire que l'id de la catégorie traité par le foreach de tab2 ne se trouve pas dans le foreach de temp
//donc on ajoute cette id dans le tab3 qui sera retourné par la fonction.
if($var==count($tab))
$tab3[]=array($valeur[0],$valeur[1], $valeur[2]);
}
}
}
/*
SCHEMA EXPLCATIF DE LA FONCTION COMPARER_TABLEAU.
tab2 est de la forme
[0] = array ( [0] => id categorie
[1] => niveau de la catégorie (hiérarchie)
[2] => nom de la catégorie
tab est de la même forme que tab2 mais ils ne contiennent pas forcément les mêmes informations
etc...
Occupons nous uniquement des ID
1 2 3 4 5 => liste des id de tab2
2 5 => liste des id de tab
objectif => avoir un tableau qui contient les ID 1 3 4
**************1er parcours***********
on parcours tab 2
on traite id 1
on parcours tab
on traite id3
1 != 2 => var=1
on parcours tab
on traite l'id5
1!=5 => var=2
var = taille du tableau tab, donc on écrit la catégorie 1 dans le tableau 3
*********** 2e parcours **************
on parcours tab 2
on traite id 2
on parcours tab
on traite id3
2 = 2 => var=0
on parcours tab
on traite l'id5
2!=5 => var=1
var est différent de la taille du tableau tab
donc on n'écrit pas cette catégorie dans le nouveau tableau.
*/
En espérant pouvoir aider quelqu'un =)
dans mon programme je fais appel à une fonction :
$tab3=array();
comparer_tableau($tab, $tab2, $tab3);
ma fonction est la suivante :
/*
Cette fonction recupere
-tab (constitué de la catégorie que l'on veut modifier + ses catégories filles)
-tab2 (constitué de toutes les catégories)
-tab3 initialement vide qui est passé par référence.
L objectif de la fonction est de récupérer dans tab3 toutes les catégories MOINS ( la catégorie traité et ses catégories filles )
*/
function comparer_tableau($tab, $tab2, &$tab3) {
//on parcours le tableau contenant toutes les catégories
foreach($tab2 as $valeur)
{
//on initialise une variable
$var=0;
//on parcours le tableau contenant la catégorie traitée + ses filles
foreach ($tab as $test)
{
// on incrémente une variable
if ($valeur[0] != $test[0])
$var++;
//si cette variable est égal à la taille du tableau qui contient la catégorie traitée + ses filles
//cela veut dire que l'id de la catégorie traité par le foreach de tab2 ne se trouve pas dans le foreach de temp
//donc on ajoute cette id dans le tab3 qui sera retourné par la fonction.
if($var==count($tab))
$tab3[]=array($valeur[0],$valeur[1], $valeur[2]);
}
}
}
/*
SCHEMA EXPLCATIF DE LA FONCTION COMPARER_TABLEAU.
tab2 est de la forme
[0] = array ( [0] => id categorie
[1] => niveau de la catégorie (hiérarchie)
[2] => nom de la catégorie
tab est de la même forme que tab2 mais ils ne contiennent pas forcément les mêmes informations
etc...
Occupons nous uniquement des ID
1 2 3 4 5 => liste des id de tab2
2 5 => liste des id de tab
objectif => avoir un tableau qui contient les ID 1 3 4
**************1er parcours***********
on parcours tab 2
on traite id 1
on parcours tab
on traite id3
1 != 2 => var=1
on parcours tab
on traite l'id5
1!=5 => var=2
var = taille du tableau tab, donc on écrit la catégorie 1 dans le tableau 3
*********** 2e parcours **************
on parcours tab 2
on traite id 2
on parcours tab
on traite id3
2 = 2 => var=0
on parcours tab
on traite l'id5
2!=5 => var=1
var est différent de la taille du tableau tab
donc on n'écrit pas cette catégorie dans le nouveau tableau.
*/