PHP تبسيط عملية ثلاثية
-
27-09-2019 - |
سؤال
في PHP ، هل هناك طريقة لتبسيط هذا أكثر ، دون استخدام if()
?
$foo = $bar!==0 ? $foo : '';
كنت أتساءل عما إذا كانت هناك طريقة لعدم إعادة التعيين $foo
إلى نفسها إذا كانت الحالة راضية. أفهم أن هناك طريقة للقيام بذلك في JavaScript (باستخدام && ، أليس كذلك؟) ، ولكن كان يتساءل عما إذا كانت هناك طريقة للقيام بذلك في PHP.
المحلول
نعم ، يمكنك استخدام المنطق و (&&
) المشغل في PHP كذلك.
$bar === 0 && $foo = '';
نصائح أخرى
في PHP 5.3 ، وصل الشكل القصير للمشغل الثلاثي أخيرًا ، حتى تتمكن من القيام بما يلي.
$foo = $bar ?: '';
يرى مشغلي المقارنة القسم - "منذ PHP 5.3 ، من الممكن ترك الجزء الأوسط من المشغل الثلاثي. Expression Expr1؟: إرجاع expr3 expr1 إذا تم تقييم Expr1 إلى true ، و expr3 خلاف ذلك."
لا تنتمي إلى StackOverflow