PHP Yard uygulanmasını Manevra yorumlamak ve bir dize matematiksel bir karşılaştırma yapmak ayrıştırmak ve bir boolean sonuca dönmek, gerekli

0 Cevap php

Ben php bir dize yorumlamak ve basit matematik hesaplama gerçekleştirmek, ve sonra ifadesi doğru veya yanlış olup olmadığı gibi bir boolean sonuç döndürebilir şey arıyorum.

Örneğin:

  1. "= 10000 3 * {mysalary} / 9" Sue tipleri
  2. , ('=' Dizesi) patlayabilir - PHP iki ifadeler içine bu kadar böler
  3. PHP veritabanı alanları benim listesini alır, ve (int typecasted) veri ile herhangi bir "{}" ayrılmış alanlar yerine
  4. PHP sonra matematik ifadeyi değerlendirir
  5. php sonra sağ tarafına sol tarafını karşılaştırır
  6. boolean sonuç üretti.

It may sound complex but it only needs to be very simple. Here are the constraints: 1/ mathematical operators are fixed to: + - / * 2/ comparison operators are fixed to: = > < >= <= 3/ do not need floating point comparisons, everything can be done at an integer level. So any divisions can be rounded if need be or simply just round the final result

There will only ever be two expressions, with one comparison operator. If there is any sort of error at all we will just return false.

Herkes zaten bu yapabileceği bir şey gördü mü? Ben bir şey yapabilir biliyorum ama neden tekerlek hakkını yeniden icat?

Eğer bir şey görmedim Eğer bu bina ne zaman aklınıza bazı "yakaladım" ya da ihtar listesine umursuyorum.

Biraz daha okuduktan sonra ben shunting yard algorithm kullanabilirsiniz biliyoruz. Herkes PHP, bu bir uygulama var mı?

Ben eval bu gerçekleştirmek için kolay bir yöntem olabilir farkındayım, ancak bana kullanıcı çok kolay bu yöntemi kullanarak bir şeyler kırmak veya sözdizimi hataları neden olabilir ilgilidir. I sonra sıkıca nasıl kullanıldığını denetlemek gerekir ediyorum yoksa ben oldukça çözelti içinde dahil, ya da istemem.

Teşekkürler.

Jason

0 Cevap