سؤال

في 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 خلاف ذلك."

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