2010-01-09 15 views
2

Je cette boucle simple:mot-clé unset obtient souligné comme il y a une erreur de syntaxe

for($i=$_POST['position'];$i<count($myFiles);$i++) 
{ 
    $withoutNumber = explode("_",$myFiles[$i]); 
    $noNr = unset($withoutNumber[0]); 
} 

Mon éditeur de code est Aptana, et le problème est que lorsque je vous écris ce code je reçois le mot-clé unset souligné comme est une erreur de syntaxe et je ne sais pas pourquoi cela arrive. Je ne peux pas tester le code maintenant (cette boucle fait partie d'un code complexe) donc je ne sais pas vraiment si le problème est réel ou non. Quel pourrait être le problème?

Répondre

2

partie Vous de code, si vous essayez de l'exécuter, donne:

Parse error: syntax error, unexpected T_UNSET 

Ce qui signifie que le problème est dans votre code, et non avec votre éditeur ;-)


Considérant unset ne retourne rien, vous devriez avoir:

for($i=$_POST['position'];$i<count($myFiles);$i++) 
{ 
    $withoutNumber = explode("_",$myFiles[$i]); 
    unset($withoutNumber[0]); 
} 

Ce qui fonctionne beaucoup mieux: plus d'erreur d'analyse. Je suppose qu'Aptana "sait" que cette construction de langage ne devrait rien retourner - ce qui explique pourquoi il y a une erreur.

+0

qui est tout à fait raison: D Je reconnais que cela est une question stupide :) je me suis concentré tellement sur cette Souligné que j'ai oublié de cette assignation variable :) merci les gars – kmunky

+0

Vous êtes les bienvenus :-) (boah, pas un problème ^^ au moins vous aurez appris quelque chose ;-)) –

1

unset est une construction de langage et non une fonction normale, et ne peut donc pas être utilisée pour définir une variable. Voir unset():

Note: Comme ceci est une construction linguistique et non une fonction ...

+0

La note dit que vous ne pouvez pas faire quelque chose comme '$ fn = 'unset'; $ fn ($ v); ' – VolkerK

+0

J'ai cité ceci pour souligner le fait que ce n'est pas une fonction régulière. Je vais supprimer la partie trompeuse. –