2017-08-24 5 views
0

Nous avons une application web qui permet aux utilisateurs de personnaliser le comportement en écrivant dans un petit langage de script. Un problème que nous avons rencontré est que certaines opérations sont évaluées différemment en PHP et JavaScript. Exemple:Évaluation des opérations binaires en PHP et en JavaScript

-1 < 'A' 

Ce code est vrai en PHP mais faux en JavaScript.

Est-ce que quelqu'un d'autre a déjà fait face à ce problème, et quelle approche pourrait être judicieux de prendre?

Modifier: Correction, c'est vrai en PHP mais faux en JavaScript.

+1

une option serait d'envoyer des expressions front-end au serveur et à évaluer là (mises en garde habituelles applicables). – georg

+0

@georg Oui, nous y avons réfléchi. –

+0

À quoi * cela * devrait-il correspondre ?! – deceze

Répondre

1

En nombre PHP et chaîne considérée comme différente chaque chaîne par rapport au nombre est zéro.

Mais Javascript qui considère ces valeurs dans l'ordre alphabétique ici a<bc>b similaires dans ce nombre de façon sont moins alphabets

+0

Mais cela n'explique pas pourquoi '-1 '<' A'' est vrai en JavaScript, mais' -1 <'A'' est faux? –

+0

ici PHP considère '-1' comme un nombre Javascript Considérons '-' comme caractère spécial comme ordre alphabétique quand on le compare à une chaîne – Arunprasath

+0

OK, merci! :) –