لماذا لدى PHP اثنين من "عدم تساوي" المشغلين (! = و <>) [مكررة

StackOverflow https://stackoverflow.com/questions/1261534

  •  12-09-2019
  •  | 
  •  

سؤال

هذا السؤال لديه بالفعل إجابة هنا:

لقد حدثت للتو تعثر على قطعة من كود PHP ويمكن أن نرى المؤلف المستخدمة <> للقيام بعدم تساوي المقارنة:

if ($variable <> "") {
    echo "Hello, I am having some value";
} 

لقد استخدمت دائما !=:

if ($variable != "") {
    echo "Hello, I am having some value";
} 

هل هناك أي ظروف خاصة، عندما يجب أن تستخدم <> على !=?

هل كانت مفيدة؟

المحلول

أعتقد أن المشغل <> قد تم تنفيذه في PHP لأنه موجود في بعض اللغات الأخرى (SQL، على سبيل المثال)

كلا <> و! = يعني تقريبيا بالضبط نفس الشيء: الفرق الوحيد الذي تمكنت من العثور عليه يرتبط بأسبقتها: انظر أسبقية المشغل : انهم ليسوا على نفس الخط ^^ (مما يعني وجود فرق، بعد ذلك، بين هذين)

رغم ذلك، يجب أن أعترف أنني لم أر > المستخدمة في PHP.

لاحظ أن الناس يستخدمون عموما! =؛ ربما يجب عليك أن تفعل الشيء نفسه: إنه سيجعل رمزك أسهل في فهمه.

ولن راجع للشغل، لديك أيضا! == المشغل، الذي يكتب مقارنة أيضا؛ ولكن لا يوجد << >> المشغل أو أي شيء مثل هذا ^^


كمرجع: عوامل المقارنة

نصائح أخرى

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

<> هو مختلف قليلا من != من حيث الأسبقية الفئة، ولكن المشغلين الذين تأتي بينهم يعني أنه لا يوجد فرق عملي على الإطلاق.

سؤال جيد. هم نفس الشيء، وبصرف النظر عن الفرق الدقيق: <> له أسبقية أعلى من! =

لماذا اطلب منهم؟ فقط لجعل الأمور تعمل كيف قد تتوقع. PHP هو mish-mash من الأفكار المقترضة، حيث قد يفضل مبرمج C $foo != $bar, ، شخص لديه خلفية أساسية قد يجد $foo <> $bar أسهل على العين. كل لبلدهم!

لديهم قريب جدا، ولكن قليلا سوحي مختلفة, ، لكنني لا أستطيع أن أرى أي وقت سيكون مفيدا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top