Шартты оператордың тағы да бір кеңейтілген түрі – elseifоператорын пайдалану. elseif – бұл else және іf сөздерінің бірігуінен тұрады. Бұл да else сияқты іf шарты орындалмаған жағдайда, бірнеше әрекеттерді тармақты түрде орындау кезінде қолданылады. Мұның еlse операторынан айырмашылығы – elseif шарты дұрыс болғанда ғана альтернативтік әрекеттер орындалады. else және elseif операторлары арқылы кеңейтілген іf операторы құрылымын былай етіп көрсетуге болады:
if(1-өрнек)1-орындау_блогы; elseif(2-өрнек)2-орындау_блогы; ...elseN-орындау_блогы; Бір іfблогында бірнеше elseif операторлары бола береді. Егер алғашқы іf шарты мен алдыңғы elseifшарттары False болып, қарастырылып отырған elseif шарты Тrue болса, онда осы elseif операторы орындалады. Мысалы:
$names = array("Азат","Бекзат","Айым"); if ($names[0]=="Азат") {
// егер жиымдағы бірінші ат Азат болса echo "Сәлем, Азат!";}
elseif ($names[0] == "Бекзат"){
// егер жиымдағы бірінші ат Бекзат болса echo "Сәлем, Бекзат!";}
elseif ($names[0] == "Айым"){
// егер жиымдағы бірінші ат Азат, Бекзат емес, Айым болса echo "Сәлем, Айым!";}
else {
// егер жиымдағы бірінші ат Азат,Бекзат,Айым болмаса echo "Сәлем, $names[0]. Ал сен кімсің?";}
?>
Осы скрипттің жұмысының нәтижесі мынадай болады::
Сәлем,Азат!
switch – бұл шарттарды тексеру мен соған байланысты әр түрлі әрекеттерді тармақты түрде орындаудың тағы да бір тәсілі. Бұл оператор аты қазақ тіліне «ауыстырғыш» (переключатель) деп аударылады. Оның мағынасы да осыған сәйкес келеді. Айнымалының қандай мәнге ие болғанына байланысты әр түрлі әрекеттер блогы орындалады. Бұл оператордың атқаратын жұмысы if...elseif...else операторлары тізбегіне немесе if операторлары тобына ұқсас болып келеді. switch құрылымын мынадай түрде жазуға болады: