Page 1 sur 1

message parse error, expecting `')'' on line 145

Posté : 24 févr. 2010, 17:02
par Yo63
Bonjour, voici mon code:

Code : Tout sélectionner

143 case 'collections': 144 $results = $metadata_store-›get_collection_timestamps(); 145 foreach ($results as $k =› $v){ 146 $results[$k] = $results[$k]/100; 147 exit(json_encode($results)); 148 }
Comme vous pouvez le voir ,dans le message d'erreur, j'ai une coquille à la ligne 145; j'ai bien la parenthèse. Je ne vois donc pas ce qu'il manque (j'ai essayé avec ajout des accolades comme ici ou sans accolade --> cela ne change rien)

je sèche complètement,

Quelqu'un aurait il une idée ?

merci d'avance

Yo

Re: message parse error, expecting `')'' on line 145

Posté : 24 févr. 2010, 17:05
par stealth35
ouai ton => est pas bon, c'est pas vrai ">" (genre copier collé de word)

Re: message parse error, expecting `')'' on line 145

Posté : 24 févr. 2010, 17:06
par Skikit
Salut,

Ton problème vient d'avant en fait, il faut délimiter ton case correctement...
case 'collections':
	{
		$results = $metadata_store-›get_collection_timestamps();
		foreach ($results as $k =› $v){
			$results[$k] = $results[$k]/100;               
			exit(json_encode($results));
		}
	}
	break;
Edit : Autant pour moi, bien vu stealth35

Re: message parse error, expecting `')'' on line 145

Posté : 24 févr. 2010, 17:21
par Yo63
Bonjour,

autant pour moi. Erreur de débutant. Effectivement je l'ai pris d'un copié collé.
Le boulet que je suis.

Par contre, je vois dans le message de Skikit qu'il y a un "break". faut il obligatoirement en mettre un pour chaque case ?

voici mon bout de code entier:

Code : Tout sélectionner

switch ($collection) { case 'quota': exit(json_encode(array((int)($metadata_store->storage_total_get()/1024), $metadata_store->get_system_quota_display()))); case 'collections': $results = $metadata_store->get_collection_timestamps(); foreach ($results as $k => $v) $results[$k] = $results[$k]/100; exit(json_encode($results)); case 'collection_counts': exit(json_encode($metadata_store->get_collection_list_with_counts())); default: report_problem(WEAVE_ERROR_INVALID_PROTOCOL, 400); }
merci encore pour votre aide

Yo

Re: message parse error, expecting `')'' on line 145

Posté : 24 févr. 2010, 17:23
par stealth35

Re: message parse error, expecting `')'' on line 145

Posté : 24 févr. 2010, 20:01
par Calimero
Par contre, je vois dans le message de Skikit qu'il y a un "break". faut il obligatoirement en mettre un pour chaque case ?
C'est pas obligatoire mais si tu n'en mets pas, l'éxécution d'un case peut continuer et empiéter sur le case suivant, et ça peut même continuer comme ça jusqu'à la fin du switch. Ce qui est un peu ballot et pas toujours simple à diagnostiquer ;)

C'est pourquoi pour t'éviter ce souci potentiel c'est une bonne pratique de poser un break systématiquement pour chaque bloc d'instructions suivant un case.