Non, ça renvoit une erreur si on declare comme tu le dis.
Et qui est ?
C'est une logique... numérique

PAS de guillemets, l'erreur ne vient pas de la.
Par contre la fonction elle contient un tas d'erreurs :
1. "$partie.=" utilisation du point avant le égal pour concaténer ( .=) alors que la variable $partie n'a pas été initialisée.
2. $retour, inconnue au bataillon

3. des constantes par convention sont en majuscule ok => OK
4. Pas de guillemets atour d'un variable : fopen(
$fichier, "r+")
La même chose en plus simple (regarde la doc pour les fonctions...)
Si tu ne disposes pas de PHP5 remplace "file_put_contents" par les 3 lignes d'écriture dans un fichier (présentes dans ton précédent code)
function Efface_Ligne_n($fichier, $nb, $option)
{
if (file_exists($fichier))
{
if($fich = file($fichier))
{
unset($fich[--$nb]);
file_put_contents($fichier,$fich);
return OK;
}
else
{
return PB_OUV;
}
}
else
{
return NO_FILE;
}
}
$nb dans la fonction n'a aucune valeur. J'ai toujours rien compris à cette histoire moi. Que veux donc dire :
--$nb;?
$nb vaut 5 si tu fait ceci:
Efface_Ligne_n("data.txt", 5, 0);
et "--$nb" signifie que la variable est décrémentée avant même d'être utilisée pour la 1ère fois, donc que $nb vaut 4 avec le même appel que précédemment.
Désolé pour l'erreur sur le titre, c'est Incompréhension bien sur.
Rectifié
