الدعم العربي
التباس في استخدام احد العوامل بداخل شرط if في Php - نسخة قابلة للطباعة

+- الدعم العربي (https://www.mybbarab.com)
+-- قسم : :: . + تطوير المواقع و المنتديات و لغات برمجة المواقع + . :: (https://www.mybbarab.com/forum-78.html)
+--- قسم : قسم تطوير المنتديات والمواقع ولغات البرمجه (https://www.mybbarab.com/forum-117.html)
+---- قسم : نقاش عام حول PHP و MYSQL (https://www.mybbarab.com/forum-49.html)
+---- الموضوع : التباس في استخدام احد العوامل بداخل شرط if في Php (/thread-8909.html)



التباس في استخدام احد العوامل بداخل شرط if في Php - Bestpublisher - 2009-06-16

التباس في استخدام احد العوامل بداخل شرط

مرحبا،،
لدي التباس بسيط في طريقة استخدام العامل or او ||
في احد الشروط بداخل احد السكريبتات. (هاك اخفاء الروابط عن الزوار،، اريد اضافة الغير مفعلين).

مثلا أنا عندي:


PHP كود :
if($mybb->user['usergroup'] == "1 || 5")
        {
        
//do something
        



او استخدم or Eam

لقد طالعت شرح الاخ بيبو هنا:- المشروطات Statements فى الـ php

لكن لم افهم الفرق،، و مع ان الدرس يقول بأن لهما نفس العمل.
الا انني اريد قطع الشك باليقين،، و احتفظ بعامل واحد فقط داخل ذاكرتي الصغيرة Smack

اشكركم مسبقا على المساعدة.
تحياتي flower


RE: التباس في استخدام احد العوامل بداخل شرط if في Php - Pepo - 2009-06-16

نعم العاملين لهم نفس الأداء, الا ان or تعنى ان تتم المشروطة فى حالة تحقق احد الطرفين فقط وليس الأثنين معا, اما || تعنى و/او

يعنى تتحقق المشروطة اذا توفر الأثنين معا, او توفر احدهم فقط. (لست متأكد بنسبة 100% لأنى مبتعد عن الأمور البرمجية منذ فترة كبيرة بسبب ضغط الدراسة والعمل معا, وهذه الأمور تفقدها عندما تبتعد عنها, لكن بإذن الله المعلومة صحيحة)

كما انصحك ان تحذف علامة التنصيص "" طلامة انك تتعامل مع ارقام يعنى يصبح الأمر كالتالى
1 || 5 بدون علامات التنصيص وغير == بـ ===
(الأولى تعنى تحقق المشروطة اذا كانت القيمة متساوية, اما الثانية يجب ان تتساوى القيمة ونوع المدخل, وهذه ضرورية, لأن كما تعلم اذا كنت تقارن فى اشياء يمكن ان تكون قيمتها اما 1 او 0 فيمكن لـ 1 ان يتساوى مع true و 0 يتساوى مع false لذلك === تمنع مثل هذه الإلتباسات, فهى تتطلب تحقيق القيمة ونوع المدخل بأن واحد)


RE: التباس في استخدام احد العوامل بداخل شرط if في Php - Bestpublisher - 2009-06-16

شكرا لك اخي بيبو على التوضيح
و على المعلومة الاضافية فعلا مفيدة،، سأحاول و ان شاء الله تنجح.
بارك الله فيك.


RE: التباس في استخدام احد العوامل بداخل شرط if في Php - Bestpublisher - 2009-06-22

مرحبا،،
جربت الحل،، لكن المشكلة بقيت نفسها و لم يشتغل الهاك !!
فلم اعرف السبب، و بدأت ابحث فاكتشفت شيئين 2 :

1- انني غبي Smack :
اذا كان الزائر ضيف او عضو،،
فالزائر لا يمكنه ان يكون ضيف و عضو في وقت واحد.
لذا فاستعمال || او or نفسه.
(هناك من يقول البرمجة تحتاج شوية غباء) flower

2- و اكتشفت ان السينتاكس للشروط المتعددة في php هو :
هذا خطأ:
PHP كود :
if($mybb->user['usergroup'] == "1||5" )
{
//do something


و هذا هو الصح:

PHP كود :
        if( ($mybb->user['usergroup'] == "1" ) || ($mybb->user['usergroup'] == "5" ) )
        {
//do something
        



و قد نجحت في تحويل الهاك الى اخفاء الروابط عن الزوار و الغير مفعلين هيه

ارجو ان تستفيدوا و ربما سأضع الهاك هذه الايام.
تحياتي.


RE: التباس في استخدام احد العوامل بداخل شرط if في Php - Pepo - 2009-06-22

نعم اخى مظبوط الـ Syntax كان خاطئ لأن رموز المقارنة او المشروطات لا يجب وضعها داخل علامات التنصيص.
وعزرا لأنى سهوت عن ان انبهك لهذا, لكن من الجيد انك اكتشفتها بنفسك.

وايضا الـ Syntax الذى استخدمته انت يمكنك تنفيذه بطريقة اكثر انجازا
PHP كود :
if($mybb->user['usergroup'] == || )
        {
//do something