63 votes

Comment éviter un décalage indéfini

Comment pouvez-vous facilement éviter d'obtenir cette erreur/notification :

 Notice: Undefined offset: 1 in /var/www/page.php on line 149

... dans ce code :

 list($func, $field) = explode('|', $value);

Il n'y a pas toujours deux valeurs renvoyées par exploser, mais si vous souhaitez utiliser list(), comment pouvez-vous alors facilement éviter l'avertissement ?

3voto

Delmo Points 1177

Cela a fonctionné pour moi:

 @list($func, $field) = explode('|', $value);

1voto

Andreas Jansson Points 1311

Je diviserais probablement cela en deux étapes

 $split = explode('|', $value);
$func = $split[0];
if(count($split) > 1)
  $field = $split[1];
else
  $field = NULL;

Il y a probablement un moyen plus rapide et plus propre cependant.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X