PHP: remplacez les instances en double de chaîne dans le tableau, plus complexes qu'il n'y paraît

StackOverflow https://stackoverflow.com/questions/4928130

Question

Première publication ici après avoir eu d'excellents résultats à la recherche d'autres réponses sur StackOverflow. J'ai frappé un barrage routier dans une application que j'essaie de construire. Il s'agit de tracer un graphique avec JS en utilisant des valeurs dynamiques tirées d'une base de données.

Je suis maintenant au point où j'ai toutes les valeurs dont j'ai besoin pour tracer un graphique à l'aide d'une bibliothèque JavaScript. L'exigence de base pour tracer un graphique est un tableau de base qui ressemble à ceci:

var plot1 = [ [2,15], [4,23], [5,25] ];

Dans mon cas de [x, y] x = date et y = clics. Avec ces données, vous pouvez appeler la fonction comme tel:

$.plot($("#placeholder"), [ plot1 ];

Cela fait tout le travail pour vous et construit un joli petit graphique. Dans mon cas, je fais tout cela dynamiquement. Voici où je suis coincé. J'ai un tableau qui le sort lorsqu'il est imprimé:

Array ( 
    [0] => var test7 = [[1, 1]]; 
    [1] => var test2 = [[1, 1]]; 
    [2] => var test2 = [[4, 1]]; 
    [3] => var test2 = [[15, 2]]; 
    [4] => var test1 = [[2, 1]]; 
    [5] => var test1 = [[6, 7]]; 
    [6] => var test1 = [[14, 1]]; 
    [7] => var test1 = [[15, 1]]; 
    [8] => var giver = [[3, 2]]; 
    [9] => var giver = [[14, 1]]; 
    [10] => var test4 = [[4, 1]]; 
);

Ce que je dois faire maintenant, c'est le groupe toutes les valeurs qui contiennent le même linkID (Test2 a 3 instances par exemple) en une seule ligne. Voici à quoi j'ai besoin du tableau pour ressembler:

Array ( 
    [0] => var test7 = [[1, 1]]; 
    [1] => var test2 = [ [1, 1], [4, 1], [15, 2] ]; 
    [4] => var test1 = [ [2, 1], [6, 7], [14, 1], [15, 1] ]; 
    [8] => var giver = [ [3, 2], [14, 1] ]; 
    [10] => var test4 = [[4, 1]]; 
);

À partir de ce moment, je peux exécuter un foreach dessus un écho sur les valeurs dans une balise de script, et nous sommes opérationnels!

Suggestions? Je sais qu'il n'y aura pas une seule fonction intégrée qui accomplit tout ce dont j'ai besoin dans un seul swoop. Array_Unique () est proche mais pas tout à fait ce dont j'ai besoin. Je pense que je peux utiliser array_walk ($ array, rappel) qui accepte un tableau et une fonction de rappel qui est exécutée sur chaque valeur dans le tableau, mais je ne sais vraiment pas où aller à partir de là.

Toute aide est grandement appréciée!

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top