Avatar ·

كيفية تحويل سلسلة نصية إلى قيمة منطقية (boolean) في PHP؟

مرحباً بالجميع! بدأت للتو في تعلم PHP وواجهت مشكلة. لدي متغير يأتي من نموذج أو من قاعدة بيانات على شكل سلسلة نصية. على سبيل المثال، قد يكون "true" أو "false" أو "1" أو "0" أو "yes" أو "no". أحتاج إلى تحويل هذه السلسلة إلى نوع boolean حقيقي لاستخدامه في الشروط. حاولت ببساطة تعيين القيمة: `$flag = "true";` — لكن هذه سلسلة نصية وليست boolean. ثم حاولت التحويل عبر `(bool) $string` — لكن هذا يعطي `true` لأي سلسلة غير فارغة، حتى لـ "false". أي أن `(bool) "false"` يُرجع `true`، وهذا ليس ما أحتاجه على الإطلاق. إليك مثال على كود لا يعمل كما هو متوقع: ```php $stringValue = "false"; $boolValue = (bool) $stringValue; // النتيجة: true، بينما يجب أن تكون false var_dump($boolValue); // bool(true) ``` أحتاج إلى أن: - السلسلة "true" أو "1" أو "yes" أو "on" تُحوَّل إلى `true` - السلسلة "false" أو "0" أو "no" أو "off" أو السلسلة الفارغة تُحوَّل إلى `false` - حالة الأحرف غير مهمة (True, FALSE, Yes، إلخ)