La Version de PHP 5.2.14 / Parse error: syntax error, unexpected T_FUNCTION, expecting ')'
J'ai un morceau de code que j'essaie de l'utiliser avec la Version de PHP 5.2.14 . Est-il incompatible?? Je lance le suivant,
jailshell-3.2$ php -l /XYZ/functions.php
Et il donne:
Parse error: syntax error, unexpected T_FUNCTION, expecting ')' in /XYZ/functions.php sur la ligne 2115
Les erreurs d'analyse syntaxique /XYZ/functions.php
Le code est:
2114 $range = array_map(
2115 function (DatePeriod $p) use ($vt2) {
2116 $res = array();
Vous devez vous connecter pour publier un commentaire.
Votre code utilise
fonctions anonymes
qui ont été pris en charge en PHP 5.3. Donc, vous avez besoin de PHP 5.3 pour obtenir de travailler. Mise à niveau de votre serveur PHP.Fonctions anonymes, aussi connu comme les fermetures de permettre la création de fonctions qui n'ont pas de nom spécifié.
Vous utilisez les fonctions anonymes qui sont disponibles depuis PHP 5.3.0.
Pour résoudre ce problème, vous pouvez mettre à niveau votre PHP comme suggéré dans d'autres réponse.
Vous pouvez définir la fonction à l'extérieur
array_map
puis utilisez-le nom de la fonction dans l'appel àarray_map
Du manuel php sur Les Fonctions Anonymes:
avant 5.3.0, faites comme ceci:
Je pense que le lambda de style fonction n'est pas encore mis en œuvre dans 5.2
utilisation create_function ou tout simplement créer de la fonction et de la passer à l' le nom de la fonction array_map.