سؤال

أنا جديد على PHP. جئت عبر هذا الجملة في وورد. ماذا يفعل السطر الأخير من هذا الرمز؟

$page = $_SERVER['REQUEST_URI'];
$page = str_replace("/","",$page);
$page = str_replace(".php","",$page);
$page = $page ? $page : 'default'
هل كانت مفيدة؟

المحلول

إنه مثال على المشغل الشرطي في PHP.

إنها النسخة المختصرة من:

if (something is true ) {
    Do this
}
else {
    Do that
}

يرى باستخدام IF/else Ternary Operators http://php.net/manual/en/language.operators.comparison.php.

نصائح أخرى

هذا المشغل الثلاثية:

يترجم هذا الخط إلى

if ($page)
    $page = $page;
else
    $page = 'default';

انه العملية الثلاثية وهو ليس PHP أو WordPress محددة ، فهو موجود في معظم langauges.

(condition) ? true_case : false_case 

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

هذا يعني أنه إذا لم يكن لصفحة $ قيمة (أو أنها صفر) ، فقم بتعيينها على "افتراضي".

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

يطلق عليه المشغل الشرطي

المزيد من بناء الجملة المطول للخط الأخير هو:

if ($page)
{
    $page = $page;
}
else
{
    $page = 'default';
}

هذا ما يسمى المشغل الشرطي. يعمل مثل بيان if-else ، لذلك

$page = $page ? $page : 'default';

يفعل نفس الشيء

if($page)
{
    $page = $page;
}
else
{
    $page = 'default';
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top