Le 11/07/2008 22:56, Thierry Loiseau a écrit :
Comment faire pour réordonner ceci, réenregistrer dans un autre fichier
texte de telle sorte que la première ligne représente le numéro le plus
grand qui se trouve entre parenthèses et en sous-ordre, le numéro se
trouvant en début de la ligne ?
J'ai oublié de préciser : le sous-ordre est unique, il n'y aura pas de
"15" par exemple deux fois !
Ok, mais ça ne change pas grand chose.
Merci et bonne continuation !
Continuer quoi ? La solution donnée ne te convient pas ?
Pour mémoire, en combinant les bonnes idées des uns et des autres, cela
devrait donner au final :
function cmp($a, $b)
{
preg_match("/^\s*([0-9]+).*\(([0-9]+)\)\s*[\r\n]+$/", $a, $ma);
preg_match("/^\s*([0-9]+).*\(([0-9]+)\)\s*[\r\n]+$/", $b, $mb);
return ($mb[2] != $ma[2]) ? ($mb[2] - $ma[2]) : ($mb[1] - $ma[1]);
}
$contenu = file($inputfile);
usort($contenu, 'cmp');
file_put_contents($outputfile, implode('', $contenu));