عندما يتعلق الأمر بتحديد شرط في سطر واحد في لغة PHP، يمكنك الاستفادة من مشغل الشرط الثلاثي (Ternary Operator) الذي يوفر لك طريقة أنيقة وفعالة لتحقيق ذلك. دعني أشرح لك كيف يمكن تحويل الشرط الذي قدمته إلى منطق الشرط الثلاثي.
الشرط الذي قدمته هو كالتالي:
phpif (empty($data['key'])) {
$err = "empty . $key ";
}
والآن، يمكن تحويل هذا الشرط إلى شكل الشرط الثلاثي كالتالي:
php$err = empty($data['key']) ? "empty . {$key}" : '';
في هذا المثال، يتم فحص ما إذا كانت قيمة $data['key']
فارغة، وإذا كانت فارغة، سيتم تعيين قيمة المتغير $err
بعبارة “empty . {$key}”، وإذا لم تكن فارغة، سيتم تعيين قيمة $err
بسلسلة فارغة ''
.
لتوضيح أكثر، الشكل العام للشرط الثلاثي هو:
php$variable = (condition) ? value_if_true : value_if_false;
وفي حالتنا، قمنا بتحديد قيمة $err
باستخدام الشرط الثلاثي الذي يقوم بفحص فارغية $data['key']
وتعيين القيمة بناءً على نتيجة هذا الفحص.
بهذه الطريقة، يمكنك تحقيق نفس النتيجة بطريقة أكثر إيجازًا وقراءة.
المزيد من المعلومات
عندما نتحدث عن المشغل الشرطي الثلاثي في PHP، فإنه يقدم وسيلة مختصرة وفعّالة لتنفيذ التحقق من الشرط وتعيين القيم بناءً على النتيجة. الشرط الثلاثي يأخذ هيكلًا عامًا يتضمن الشرط نفسه، والقيمة التي ستُختار إذا كان الشرط صحيحًا، والقيمة التي ستُختار إذا كان الشرط غير صحيح.
لفهم أكثر، يمكننا تحليل مثال آخر. فلنفترض أن لدينا متغيرين $age
و $isAdult
. نريد تعيين قيمة $isAdult
بناءً على إذا كانت القيمة في $age
تمثل شخصًا بالغًا أم لا. في الحالة العادية، يمكننا استخدام بيانات التحكم الشرطي بشكل معتاد كما في المثال التالي:
phpif ($age >= 18) {
$isAdult = true;
} else {
$isAdult = false;
}
وباستخدام المشغل الشرطي الثلاثي، يمكننا تبسيط الكود إلى سطر واحد كما يلي:
php$isAdult = ($age >= 18) ? true : false;
ومن الملاحظ أنه يمكننا التخلص من التكرار بسبب القيم المتطابقة للشرط، وببساطة نقوم بتعيين القيمة المباشرة دون الحاجة إلى تحديد true
أو false
:
php$isAdult = ($age >= 18);
هذا يعكس جوهر المشغل الشرطي الثلاثي الذي يساعد في تبسيط وتنظيم الشروط بشكل أكبر، مما يجعل الكود أكثر قراءة وفهمًا.