السلام عليكم ورحمة الله وبركاته

صادفت اليوم خطأ منطقي شل حركة النظام وهو كالتالي:

var_dump($total_amount);
var_dump($this->TOTAL_AMOUNT);
if( $total_amount != $this->TOTAL_AMOUNT){
    echo  "System price error {$total_amount} != {$this->TOTAL_AMOUNT}";
}
exit();

مخرجات الكود السابق كالتالي وهو ناتج غير منطقي:

float(344586.57) float(344586.57) 
System price error 344586.57 != 344586.57

الناتج يعني أن الشرط محقق مع أن الرقمين متساويين حاولت استخدام معاملات المساواه من نفس النوع !== مع أن القيم في الأساس من نفس النوع وهو float ولكن دون جدوى

  • لم استطع تحديد سبب المُشكلة بعد لأجد لها حل o_O

  • لم أجرب إصدارات أخرى من اللغة لأن النظام يعتمد على بعض الدوال المحذوفة والترقية ستؤدي إلى توقف عمل النظام.