Pourquoi prend en charge PHP pas cette syntaxe:Parse error sur explode ('-', 'foo bar') [0] (par exemple)
$s = explode('-', 'foo-bar')[0];
?
Pourquoi prend en charge PHP pas cette syntaxe:Parse error sur explode ('-', 'foo bar') [0] (par exemple)
$s = explode('-', 'foo-bar')[0];
?
C'est une limitation dans l'analyseur PHP. Il n'y a aucune raison pour laquelle il ne peut pas supporter cette forme de réduction, ce n'est tout simplement pas le cas.
La syntaxe ‘foo-bar’)[0]
est erronée en ce qui concerne php. Je ne sais pas dans quelle langue vous avez vu une telle chose, mais PHP n'a pas d'implémentation pour une telle syntaxe. Cependant, vous pouvez diviser votre chaîne comme ceci:
explode(‘-’, ‘foo-bar’);
Au lieu de cela, vous pouvez utiliser cette option si you'r la force à utiliser en ligne: substr ($ var , 0, strrpos ($ var, '-')); Mais je préfère la solution liste, c'est plus élégant!
[tableau déréférencement est maintenant dans le coffre] (http://schlueters.de/blog/archives/138-Features-in-PHP-trunk-Array-dereferencing.html) – Gordon
double possible de [Comment évitez les variables temporaires dans PHP lorsque vous utilisez un tableau renvoyé par une fonction] (http://stackoverflow.com/questions/1769020/how-to-avoid-temporary-variables-in-php-when-using-an-array-returned -from-a-func) – Gordon