Page 1 sur 1

affichage array

Posté : 12 juil. 2013, 07:25
par hervecar62
Bonjour,
j'ai un tableau simple dont je souhaite manipuler les composants pour l'affichage:
$options = ('code1-AA', 'code1-AB', 'code1-AC', 'code2-AA', 'code2-AD');
et pour l'affichage je voudrai afficher ceci:
code1 (AA, AB, AC)
code2 (AA, AD)
Je sèche sur ce problème depuis un moment, pouvez vous m'aider svp.
Merci.

Re: affichage array

Posté : 12 juil. 2013, 08:12
par sirakawa
Y a-t-il un nombre fixe d'options pour chaque valeur de code1, code2, etc?
Tu vas avoir besoin de for (pour parcourir le tableau) et de substr pour extraire les bouts.
Le saut de ligne est ajouté soit quand l'indice dans le tableau prend une valeur prévisible, soit quand on passe de code1 à code2
$ancien_code ="";
$nb_options = count($options);
for ($i = 0; $i <$nb_options; $i++)
{
$le_choix = explode("-", $options[$i]);
$code = $le_choix[0];
$valeur = $le_choix[1];
if ()
{
}
}

Re: affichage array

Posté : 12 juil. 2013, 08:15
par dix2
Bonjour,

Voici le code :
$options = array('code1-AA', 'code1-AB', 'code1-AC', 'code2-AA', 'code2-AD');

foreach ($options as $option) {
    list($optionPart1, $optionPart2) = explode('-', $option);
    $newOptions[$optionPart1][] = $optionPart2;
}

foreach ($newOptions as $code => $codeOptions) {
    $codeLine = $code.' (';
    foreach ($codeOptions as $option) {
        $codeLine .= $option.', ';
    }
    $codeLine = substr($codeLine, 0, -2);
    $codeLine .= ')<br />';
    echo $codeLine;
}
Bonne journée,
dix2

Re: affichage array

Posté : 12 juil. 2013, 15:01
par Hervecar62
Merci beaucoup ça fonctionne :P