عملگر سه تایی

عملگر شرطی (?:) در PHP مانند دستور شرطی if…else عمل می کند. در زیر نحوه استفاده از این عملگر آمده است:

<condition> ? <result if true> : <result if false>

عملگر شرطی در PHP نیاز به سه عملوند دارد:

  • شرط
  • یک مقدار زمانی که شرط درست باشد.
  • یک مقدار زمانی که شرط نادرست باشد.

اجازه بدهید که نحوه استفاده این عملگر را در داخل برنامه مورد بررسی قرار دهیم.

<?php

    $pet1 = "puppy";
    $pet2 = "kitten";
    $type1;
    $type2;

    $type1 = ($pet1 == "puppy" ) ? "dog" : "cat";
    $type2 = ($pet2 == "kitten") ? "cat" : "dog";

    echo $type1;
    echo '<br/>';
    echo $type2;

?>
dog
cat

برنامه بالا نحوه استفاده از این عملگر شرطی را نشان می دهد. خط یک به صورت زیر ترجمه می شود : اگر مقدار $pet1 برابر با puppy سپس مقدار dog را در $type1 قرار بده در غیر این صورت مقدار cat را $type1 قرار بده. خط دو به صورت زیر ترجمه می شود : اگر مقدار $pet2 برابر با kitten سپس مقدار cat را در $type2 قرار بده در غیر این صورت مقدار dog. حال برنامه بالا را با استفاده از دستور if else می نویسیم:

if ($pet1 == "puppy")
   $type1 = "dog";
else
   $type1 = "cat";

هنگامی که چندین دستور در داخل یک بلوک if یا else دارید از عملگر شرطی استفاده نکنید چون خوانایی برنامه را پایین می آورد.