Boucle sous_tableaux

Petit nouveau ! | 2 Messages

14 juin 2011, 17:43

Bonjour,

J'ai un tableau qui contient une liste de verbes

pour chaque verbe j'ai besoin de le stocker dans un tableau ici $tab
<?php
function afficher($liste)
{

   foreach($liste as $tab)
   {
    if(is_array($tab))
    {
    $tab1['un'][] = $tab[0]; //verbe 1 etc..
    $tab1['deux'][] = $tab[1];
    }
  }
return $tab1;
}
?>

C'est à dire :

Si par exemple $liste est un tableau avec 10valeurs ( verbes)
mes sous tableaux seront au nombre de 10

donc ce qu'il y'a en dessous sera le nombre de tableau crées!

En gardant l'indexation sur chaque $tab mais en parcourant toujours avec foreach
<?php
$tab1['un'][] = $tab[0];
$tab1['deux'][] = $tab[1];
...
$tab1['dix'][] = $tab[10];

echo $cpt = count($liste[0]); //m'affiche le nombre de valeurs il me reste a créer les tabs en fonction de cette valeur


?>


Merci pour votre aide , je ne trouve pas de solution malgré beaucoup de tentatives!
Modifié en dernier par smax le 14 juin 2011, 18:07, modifié 3 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

14 juin 2011, 18:01

salut,

je pige pas trop ce que tu veux faire.
$liste est un tableau de tableaux ?

dans ce cas tu peux aussi utiliser foreach sur $tab, après si tu tiens réellement a ce que ton tableau soit indexé avec des nom (un, deux trois) la va falloir gérer la chose (avec un tableau du genre $indexalpha = array(0=>'zero',1=>'un' , 2=>'deux' ...); et après pour avoir l'index que tu veux $indexalpha[ $indexdutableau]; ).

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 2 Messages

14 juin 2011, 18:11

<?php
function afficher($liste)
{

   foreach($liste as $tab)
   {
    if(is_array($tab))
    {

       for($i=0; $i<count($liste[0]);$i++)           
        {
       $tab1[$i][] = $tab[$i]; //verbe 1 etc..
       }
    }
  }
return $tab1;
}
?>

Mammouth du PHP | 2278 Messages

17 juin 2011, 16:07

Une idée qui retourne un tableau de tous les verbes, verbe par verbe
<?PHP
function traite ($liste)
{
$tab1 = array();
$i=1;
foreach($liste as $tab)
{

if (is_array($tab)):
$tab1[$i]['infinitif'] = $tab[0]; //verbe 1 etc..
$tab1[$i++]['indic pr 1 s'] = $tab[1];
endif;

}
return $tab1;
}
$liste = array
(
array
(
"aimer", "aime", "aimons", "aiment"
),
array
(
"boire", "bois", "buvons", "boivent"
)
);
$tab_final= traite ($liste);
print_r($tab_final);

?>

et le même avec lecture verticale (tous les infinitifs, tous les indicatifs...
<?PHP
function traite ($liste)
{
$tab1 = array();
$i=1;
foreach($liste as $tab)
{

if (is_array($tab)):
$tab1['un'][] = $tab[0]; //verbe 1 etc..
$tab1['deux'][] = $tab[1];
endif;

}
return $tab1;
}
$liste = array
(
array
(
"aimer", "aime", "aimons", "aiment"
),
array
(
"boire", "bois", "buvons", "boivent"
)
);
$tab_final= traite ($liste);
print_r($tab_final);

?>
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD