مقارنة السلاسل في PHP: '==' أو '===' أو 'strcmp()'؟
مقارنة السلاسل في يمكن إجراء PHP باستخدام عوامل تشغيل مختلفة مثل '==' أو '===' أو الدالة 'strcmp()'. تتضمن هذه المقارنة التحقق مما إذا كانت السلسلتان متساويتين أم لا.
'==' vs. '==='
يتحقق عامل التشغيل '==' من المساواة فقط ولا يأخذ في الاعتبار نوع المعاملات. وهذا يعني أن "0" يعتبر مساويا لـ "خطأ" في المقارنة "==". من ناحية أخرى، يتحقق عامل التشغيل '===' من المساواة والهوية، مما يعني أن المعاملات يجب أن يكون لها نفس القيمة والنوع. وبالتالي، فإن '0' لا يساوي 'خطأ' في المقارنة '==='.
'strcmp()' وظيفة
إن 'strcmp()' تقارن الدالة سلسلتين معجميًا. تُرجع قيمة سالبة إذا كانت السلسلة الأولى أقل من السلسلة الثانية، وقيمة موجبة إذا كانت السلسلة الأولى أكبر من السلسلة الثانية، و0 إذا كانت متساوية.
متى يتم الاستخدام ' strcmp()'?
بينما يكون '===' كافيًا بشكل عام لمقارنة السلسلة في معظم الحالات، يكون 'strcmp()' مفيدًا عند الحاجة إلى:
في مقتطف الكود المقدم:
if ($password === $password2) { ... }
سترجع هذه المقارنة باستخدام '===' صحيحة فقط إذا كانت كلمات المرور بنفس الحالة والقيمة. إذا كنت تريد السماح بمقارنة كلمات المرور غير الحساسة لحالة الأحرف، فستحتاج إلى استخدام 'strcmp()' أو 'strcasecmp()'.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3