"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > ما هو عامل Elvis في PHP وكيف يعمل؟

ما هو عامل Elvis في PHP وكيف يعمل؟

تم النشر بتاريخ 2024-11-19
تصفح:225

What is the Elvis operator in PHP and how does it work?

ترويض مشغل الفيس (؟:) في PHP

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

الكشف عن ?: المشغل

المشغل ?:، المعروف أيضًا باسم "مشغل Elvis، "وظائف مشابهة للمشغل الثلاثي. ومع ذلك، فإن سمته الفريدة تكمن في عدم وجود تعبير يمكن تقييمه إذا كان المسند صحيحًا. فيما يلي تفصيل لسلوكه:

يتم تقييمه إلى المعامل الأيسر إذا كان المعامل الأيسر صادقًا، أي ليس فارغًا، أو سلسلة فارغة، أو خطأ، أو صفر.
إذا كان المعامل الأيسر هو خطأ، ويتم تقييمه إلى المعامل الأيمن.
الأهم من ذلك، التعبير بالنسبة للمعامل الأيسر، يتم تقييمه مرة واحدة فقط، مما يضمن الكفاءة.

أمثلة توضيحية

لمزيد من التوضيح، خذ بعين الاعتبار مقتطف الكود التالي:

$items = $items ?: $this->_handle->result('next', $this->_result, $this);

في هذا على سبيل المثال، إذا كانت العناصر $ صحيحة (غير فارغة أو غير فارغة)، فسيتم تعيين قيمة العناصر $ لنفسها. ومع ذلك، إذا كانت $items خاطئة، فسيتم تعيين نتيجة $this->_handle->result('next', $this->_result, $this) إلى $items. يعالج هذا بشكل فعال القيم غير المحددة من خلال توفير قيمة افتراضية.

تطبيقات إضافية

عامل التشغيل ?: يثبت أيضًا أنه مفيد في سيناريوهات التحقق الذاتي:

foo = foo ?: bar;
foo = foo ?: bar;
هنا، سيتم تعيين قيمة bar لـ foo إذا كانت قيمة foo فارغة أو خاطئة. بخلاف ذلك، يظل foo بدون تغيير.

عرض التنوع

لتوضيح تعدد استخداماته، فكر في هذه الأمثلة:

var_dump(5 ?: 0); // 5 var_dump(false ?: 0); // 0 var_dump(null ?: 'foo'); // "فو" var_dump(true ?: 123); // حقيقي var_dump('rock' ?: 'roll'); // 'صخر' var_dump('' ?: 'roll'); // 'لفافة' var_dump('0' ?: 'roll'); // '0' var_dump('42' ?: 'roll'); // '42'
foo = foo ?: bar;

أصل "مشغل Elvis"]ينبع لقبه الغريب، "مشغل Elvis"، من تشابهه مع شعر إلفيس بريسلي. تمامًا كما تم تصميم أقفال إلفيس على شكل بومبادور كثيف أو مملس للخلف، فإن المعامل الأيسر للمشغل إما أن يكون صحيحًا أو خطأ، مما يحدد القيمة الناتجة.

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

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

Copyright© 2022 湘ICP备2022001581号-3