modifie tableau multidimensionnel

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : modifie tableau multidimensionnel

Re: modifie tableau multidimensionnel

par tfred84 » 24 nov. 2010, 13:12

merci, merci ca fonctionne nickel =D>

Ce tableau ne vient pas d'une base.
J'ai un site marchand sur lequel les produits sont présentés en tableau. Dans les colonnes les quantités et dans les lignes les formats.
J'ai plusieurs groupes clients qui ont des prix différents.
Et certain groupe client ne peuvent pas acheter certaines quantités.

Donc dans mon tableau le 44 et le 45 représentent des colonnes pour un produit et le 2,3 et 3,4,7 des groupes clients qui ne verront pas les colonnes 44 et 45 pour un produit.
Les valeurs des colonnes viennent d'un champ caché et les groupes clients de checkbox.

Voilà pour la petite explication, j'espére qu'elle est aussi claire que votre code qui était parfait.

Re: modifie tableau multidimensionnel

par stealth35 » 24 nov. 2010, 12:42

en vite fais je dirais comme ca :
$arr = array ( 0 => array ( 0 => '', ), 1 => array ( 0 => '44', 1 => '3', ), 2 => array ( 0 => '44', 1 => '4', ), 3 => array ( 0 => '44', 1 => '7', ), 4 => array ( 0 => '45', 1 => '2', ), 5 => array ( 0 => '45', 1 => '3', ), );

$arr2 = array();

foreach($arr as $item)
{    
    $arr2[$item[0]][0] = $item[0];
    
    if(!empty($item[1]))
    {
        $arr2[$item[0]][]  = $item[1];
    }
}

$arr3 = array_values($arr2);

print_r($arr3);
mais elle viens d'où ta liste d'une base ?

Re: modifie tableau multidimensionnel

par tfred84 » 24 nov. 2010, 12:32

Voici le var_export du tableau :

array ( 0 => array ( 0 => '', ), 1 => array ( 0 => '44', 1 => '3', ), 2 => array ( 0 => '44', 1 => '4', ), 3 => array ( 0 => '44', 1 => '7', ), 4 => array ( 0 => '45', 1 => '2', ), 5 => array ( 0 => '45', 1 => '3', ), )

Pour pouvoir utiliser les résultats j'ai besoin de le transformer comme ceci :
array ( 0 => array ( 0 => '', ), 1 => array ( 0 => '44', 1 => '3', 2 => '4', 3 => '7', ), 2 => array ( 0 => '45', 1 => '2', 2 => '3',), )

Peut être que ce n'est pas possible :(

Re: modifie tableau multidimensionnel

par stealth35 » 24 nov. 2010, 12:11

fais un var_export de ton tableau

modifie tableau multidimensionnel

par tfred84 » 24 nov. 2010, 12:08

Bonjour

J'ai un tableau :

Array
(
[0] => Array
(
[0] =>
)

[1] => Array
(
[0] => 44
[1] => 3
)

[2] => Array
(
[0] => 44
[1] => 4
)

[3] => Array
(
[0] => 44
[1] => 7
)

[4] => Array
(
[0] => 45
[1] => 3
)

[5] => Array
(
[0] => 45
[1] => 4
)

)

Pour pouvoir l'utiliser j'ai besoin de le transformer pour avoir le résultat suivant :

Array
(
[0] => Array
(
[0] =>
)

[1] => Array
(
[0] => 44
[1] => 3
[2] => 4
[3] => 7
)

[2] => Array
(
[0] => 45
[1] => 3
[2] => 4
)

)

J'ai tourné le probleme dans tous les sens (à mon niveau :( ) Impossible pour moi d'arriver à ce résultat.
Si quelqu'un à une idée je suis preneur !