Page 1 sur 1

[résolu] Croiser les résultats d'un tableau

Posté : 28 déc. 2011, 14:37
par Castor Gaspard
Bonjour,

Je souhaiterai croiser (ou alterner) les résultats d'un tableau...

Je m'explique... Mon tableau contient...
array('A', 'B', 'C', 'D', 'E')
et je voudrai obtenir...
array('A', 'D', 'C', 'B', 'E')
En fait, et comme vous allez me le demander (!), c'est pour calculer et ordonner des variations de couleurs.

J'ai déniché un script qui calcule les variations entre un couleur 'A' et une couleur 'B' selon le nombre attendu de résultats. Problème, si je pars du bleu vers le rouge en demandant six couleurs intermédiaires, mes couleurs manquent de contraste.

Le code ressemble à...
for($i = 0; $i <= $colorsteps; $i++)
{
...
$gradientcolors[] = implode(NULL, $hexrgb);
}
foreach($gradients as $gradient)
{
echo...
}
J'ai testé avec array_reverse ou array_flip, mais je n'ai pas avancé.

Merci pour votre aide. :)

Cordialement,

Gaspard

Re: Croiser les résultats d'un tableau

Posté : 28 déc. 2011, 14:40
par xTG
Euh croiser ok mais...
Ton croisement a une suite logique ? Car je n'en trouve pas dans ton exemple. :?
A -> D (second mais en partant de la fin ?) -> C (euh pourquoi lui ?)

Re: Croiser les résultats d'un tableau

Posté : 28 déc. 2011, 14:58
par Castor Gaspard
Merci xTG pour ta remarque, qui montre combien mon explication est embrouillée.

Oui, une suite logique...

Si j'ai...
bleu foncé
bleu
bleu clair
rouge clair
rouge
rouge foncé
Je veux...
bleu foncé
rouge
bleu clair
rouge clair
bleu
rouge foncé
Ai-je posé le problème plus clairement ? :mrgreen:

En fait, ce contraste me sera utile pour attribuer des couleurs à des graphiques.

Merci.

Gaspard

Re: Croiser les résultats d'un tableau

Posté : 28 déc. 2011, 15:25
par Mazarini
Bonjour,

Le problème, est qu'est ce qui te fait choisir cet ordre ? ou plutôt quelles sont les règles pour ordonner selon l'ordre que tu indiques et non pas un autre ordre.

Re: Croiser les résultats d'un tableau

Posté : 28 déc. 2011, 15:27
par Ryle
Nope, c'est pas plus clair... tu as donné un exemple, pas la règle que tu veux établir... et tant que tu n'auras pas cette règle il ne sera pas possible de trouver l'algo à mettre en place :)

Par ce que pour le moment, la règle pourrait être simplement : inverser le 2ème élément et l'avant dernier élément du tableau.
Mais quid d'un tableau avec 2, 3 et 10 valeurs ? est-ce qu'il n'y a que ces deux index à inverser ou est-ce plus compliqué que ça ?

(si faut juste permuter, il suffit d'une variable temporaire dans lequel tu stockes ton 2ème élément, puis tu remplace la valeur de l'index 2 par la valeur de l'avant dernier, et enfin tu remplaces la valeur de l'avant dernier par la valeur de ta variable temporaire :))

Edit : raah ça commence à bien faire Mazarini !! ;)

Re: Croiser les résultats d'un tableau

Posté : 28 déc. 2011, 15:56
par Mazarini
raah ça commence à bien faire Mazarini !! ;)
Je suis 3 fois moins bavard donc facilement plus rapide :p

Re: Croiser les résultats d'un tableau

Posté : 28 déc. 2011, 16:54
par Castor Gaspard
Bonjour,

Je vais arrêter ici ce Post en mettant "résolu".

Car si mon problème est difficile à formuler, ça signifie plus ou moins qu'il échappe à une solution logique.

Au moins, vos remarques furent éclairantes.

D'ailleurs, j'ai une question plus intéressante à poser, simple à expliquer, mais encore insoluble par mon esprit : je change donc de sujet. :mrgreen:

Merci encore.

Gaspard