PHP : Lister les combinaisons uniques de tags
4 messages • Page 1 sur 1
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
PHP : Lister les combinaisons uniques de tags
Bonjour,
J'aimerais pouvoir lister les combinaisons uniques d'un tableau de tags, exemple :
$tags = array("orange","citron","banane","pomme");
Nous donnerait :
(profondeur 1)
orange
citron
banane
pomme
(profondeur 2)
orange citron
orange banane
orange pomme
citron banane
citron pomme
banane pomme
(profondeur 3)
orange citron banane
orange citron pomme
orange banane pomme
citron banane pomme
(profondeur 4)
orange citron banane pomme
-----------------------------------
En fait cela équivaut à une imbriquation de for (4 dans cet exemple) comme suit :
J'ai pensé à la récursivité, mais je n'arrive pas à l'appliquer dans ce cas là, alors si quelqu'un pouvait me donner un petit coup de pouce, ce serait sympa.
Merci par avance !
J'aimerais pouvoir lister les combinaisons uniques d'un tableau de tags, exemple :
$tags = array("orange","citron","banane","pomme");
Nous donnerait :
(profondeur 1)
orange
citron
banane
pomme
(profondeur 2)
orange citron
orange banane
orange pomme
citron banane
citron pomme
banane pomme
(profondeur 3)
orange citron banane
orange citron pomme
orange banane pomme
citron banane pomme
(profondeur 4)
orange citron banane pomme
-----------------------------------
En fait cela équivaut à une imbriquation de for (4 dans cet exemple) comme suit :
- Code: Tout sélectionner
for($i=1;$i<=$profondeur;$i++) {
for($j=$i+1;$j<=$profondeur;$j++) {
for($k=$j+1;$k<=$profondeur;$k++) {
for($l=$k+1;$l<=$profondeur;$l++) {
}
}
}
}
J'ai pensé à la récursivité, mais je n'arrive pas à l'appliquer dans ce cas là, alors si quelqu'un pouvait me donner un petit coup de pouce, ce serait sympa.
Merci par avance !
Bonjour,
Voilà ma solution ad hoc:
Voilà ma solution ad hoc:
- Code: Tout sélectionner
$tags=array("orange","citron","banane","pomme");
$tags[]="";$r=array();$z=0;while($z<300){mt_srand();shuffle($tags);$o=join("%spl%",$tags);$o=explode("%spl%",$o,mt_rand(1,count($tags)));array_pop($o);sort($o);$o=join(" ",$o);if(!preg_match("`^\s*$`",$o)){$o=preg_replace("`\s+`"," ",trim($o));if(!in_array($o,$r)){$r[]=$o;$z=0;}else{$z++;}}}
echo"<pre>";print_r($r);echo"</pre>";
Après un peu de jugeote, j'ai trouvé la solution :
A bientot !
- Code: Tout sélectionner
$t = array("orange","citron","banane","pomme");
$n = count($t);
$ct = array(); // Tableau qui va contenir les rcombinaisons de tags
function listeCombi($debut,$tags,$profondeur) {
global $ct;
if($profondeur == 0) {
array_push($ct,$debut);
return;
}
$n = count($tags);
for($i=0;$i<$n;$i++) {
listeCombi($debut.$tags[$i].",",array_slice($tags,$i+1),$profondeur-1);
}
}
for($i=1;$i<=$n;$i++) {
listeCombi(",",$t,$i);
}
echo "<pre>";
print_r($ct);
echo"</pre>";
A bientot !
4 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Nuage de tags Wordle pour WebRankInfo
- Google au 4eme rang mondial en nb de visites
- La commande link: sur Google
- Opérateurs de recherche avancée sur MSN
- Accord entre Ask Jeeves et Google
- Microsoft désactive les opérateurs link: et linkdomain:
- Ask dévoile sa technologie RhymeRank
- Google Toolbar 2.0 (version beta)
- Gérez vos bookmarks WebRankInfo avec des tags
- Record en bourse pour Google : l'action GOOG dépasse les 700$
- Lister les sous-domaines
Cet outil vous permet de trouver la liste des sous-domaines (indexés) d'un site.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités



le forum