Умовна конструкція в реалізації від PHP if else практично не відрізняється від аналогічних правил інших мов програмування, і чекати особливих відмінностей не доведеться ще тривалий час.
В далекі часи оператор присвоювання в мові Pascal був «:=», в той час як C/C++ впевнено управлявся одним «=». Донині PHP умова if else може використовувати три «дивних» варіанту: «=», «==», «===». Дивно також використання символу «$» для позначення змінної (jаvascript прекрасно обходиться без символів уточнення змінних). Між тим, зростання числа програмістів, що використовують PHP повсякденно - найкраще свідчення практичності мови.
Суть умовної конструкції
Умови визначають розгалуження алгоритму. В основі лежить умови вираз, результат виконання якого завжди тільки true або false . У зміст цього виразу може бути використане будь-яку кількість операторів і викликів функцій. Це означає, що умова - це, перш за все, алгоритм. Історично умовний вираз записується так: (выражение1)[символ сравнения](выражение2). Цей момент дає можливість другого висловом використовувати результати роботи першого. Цього мало хто надає значення, але зате кожен програміст іноді забуває, що символ присвоювання «=» - це не символ порівняння «==», а відмінність між «==» та «===» є вірним підставою переписати умову таким чином, щоб можна було застосувати однозначне порівняння з « ».
Тут конструкція PHP if else - як приклади «співпраці» двох виразів. Перший вираз инкрементирует змінну $iA (=2) і обчислює змінну $iC (=6) у функції scfAB(). Другий вираз має зміненим значенням $iC, яке множить на 20 і инкрементирует змінну $iB.
Використання «=», «==» та «===»
В PHP конструкція if else не передбачає використання оператора «=», оскільки це оператор присвоювання, але його використання все ж можливо. Важливо розуміти, що помилкове зазначення «=» замість «==» в більшості випадків зробить умову істинним, незалежно від того, що в ньому записано.
Для PHP в if () else передбачається застосування тільки «==» або «===». Перше означає рівність значень після перетворення типів, друге розраховує на відповідність значень і їх типів. Інші оператори (більше, менше, дорівнює ) не викликають двозначного тлумачення.
Особливість символів та їх застосування
Опис змінних та умовна конструкція на PHP if else дозволяють сформулювати проблему, яка існує досить давно і стала настільки звичною, що практично не помітна. За великим рахунком, оператор порівняння не особливо потрібен. По-перше, у всякому мові є конструкція виконання виразу (PHP - не виняток), яке визначено динамічно в ході виконання скрипта. По-друге, абсолютно нічого не заважає формувати алгоритм розгалуження по ходу виконання основного алгоритму.
Просто PHP if else як і його молодший брат switch case, звичні і воспринимаемы як програмістами, так і користувачами, які звикли контролювати роботу програмістів. Характерна помилка, яка часто допускається: «=» або «==» - умови допустимо друге, але ніяк не перше (якщо мова не йде про виключення з правил). Символ «$» для опису змінної надмірний. Якщо в одній мові можна обійтися без додаткової ідентифікації імені змінної, то в PHP це також можна зробити. Стало традиційним відокремлювати «=» від «==». Перше - це присвоювання, друге - це порівняння. Між тим, як тільки інтерпретатор PHP «зайшов» конструкцію if else - немає жодних сумнівів, що тут буде умова. Більш того, умова з синтаксису мови PHP: if () else - завжди в дужках, тобто ідентифікувати «=» в якості оператора порівняння завжди можливо. Інше питання, що використання «$» і тріади: «=», «==» та «===» стало звично, і змінити що-небудь малоперспективно. Але, маніпулюючи умовою, бажано мати на увазі сказане. В сучасних мовах багато класичних конструкцій, але настає час, коли доведеться переглянути їх зміст. Програмування набуває статус серйозного інструменту обробки динамічно мінливої інформації, а це виходить за межі розуміння, чому всередині і поза конструкції PHP if else оператор «=» зберігає свій сенс.
Умови та об'єкти
З того моменту, як об'єкти стали природними для будь розробки, умовна конструкція PHP if else збереглася, але її місце змістилося в тіло об'єкта. Програміст може використовувати умови, як йому це зручно, але, розробляючи об'єкти, він переводить момент прийняття рішення на об'єкт.
Система об'єктів програми - це логіка взаємодії, тобто прийняття рішень про те, як саме роботу далі приймає об'єкт. Якщо умовна конструкція маніпулює об'єктами, а не об'єкти керують ходом алгоритму, значить, в скрипті щось зроблено не так.