"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > مقارنة سلاسل PHP: `==` أو `===` أو `strcmp()` - ما هو المشغل الذي يجب عليك استخدامه؟

مقارنة سلاسل PHP: `==` أو `===` أو `strcmp()` - ما هو المشغل الذي يجب عليك استخدامه؟

تم النشر بتاريخ 2024-12-17
تصفح:750

PHP String Comparison: `==`, `===`, or `strcmp()` – Which Operator Should You Use?

مقارنة السلاسل في PHP: '==' أو '===' أو 'strcmp()'؟

مقارنة السلاسل في يمكن إجراء PHP باستخدام عوامل تشغيل مختلفة مثل '==' أو '===' أو الدالة 'strcmp()'. تتضمن هذه المقارنة التحقق مما إذا كانت السلسلتان متساويتين أم لا.

'==' vs. '==='

يتحقق عامل التشغيل '==' من المساواة فقط ولا يأخذ في الاعتبار نوع المعاملات. وهذا يعني أن "0" يعتبر مساويا لـ "خطأ" في المقارنة "==". من ناحية أخرى، يتحقق عامل التشغيل '===' من المساواة والهوية، مما يعني أن المعاملات يجب أن يكون لها نفس القيمة والنوع. وبالتالي، فإن '0' لا يساوي 'خطأ' في المقارنة '==='.

'strcmp()' وظيفة

إن 'strcmp()' تقارن الدالة سلسلتين معجميًا. تُرجع قيمة سالبة إذا كانت السلسلة الأولى أقل من السلسلة الثانية، وقيمة موجبة إذا كانت السلسلة الأولى أكبر من السلسلة الثانية، و0 إذا كانت متساوية.

متى يتم الاستخدام ' strcmp()'?

بينما يكون '===' كافيًا بشكل عام لمقارنة السلسلة في معظم الحالات، يكون 'strcmp()' مفيدًا عند الحاجة إلى:

  • تحديد ترتيب السلاسل (سواء كانت str1 أقل من أو تساوي أو أكبر من str2)
  • إجراء مقارنات سلسلة غير حساسة لحالة الأحرف (باستخدام 'strcasecmp()) ' وظيفة)

في مقتطف الكود المقدم:

if ($password === $password2) { ... }

سترجع هذه المقارنة باستخدام '===' صحيحة فقط إذا كانت كلمات المرور بنفس الحالة والقيمة. إذا كنت تريد السماح بمقارنة كلمات المرور غير الحساسة لحالة الأحرف، فستحتاج إلى استخدام 'strcmp()' أو 'strcasecmp()'.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3