Практиката да се използва PHP функцията празна ()

10.05.2019

Съвременното програмиране отдавна и успешно манипулира нетипизираните променливи. Типът на променливата може да не бъде зададен предварително и да бъде променен по време на изпълнението на програмата.

Това понятие е станало централно място в общата програмна парадигма. В самото начало на ерата на програмиране, езиците със същата солидна увереност изискват от програмиста предварително описание на променливите и строго гарантират, че не им се дава нищо незаконно. Фактът, че дадена променлива променя типа си, нито програмите, нито програмните езици са имали представа.

За празни и несъществуващи

PHP функцията empty () е обратна на функцията isset () и има някои особености на използване. Ако няма променлива, тогава първата функция реагира положително на него и резултатът е вярно, а вторият е отрицателен, т.е. неговата стойност е невярна.

PHP празен

По дефиниция isset () е предназначен да проверява за съществуването на променлива. Няма значение какво и как е присвоено на променливата, най-важното е, че е и не се унищожава от функцията unset (). Резултатът от функцията isset () ще бъде положителен - true. Важно е да запомните, че ако $ iVar = 0; тогава isset ($ iVar) ще бъде вярно, но празна ($ iVar) също ще бъде вярна.

В първия случай резултатът означава, че променливата съществува, във втория случай променливата е празна, т.е. стойността "0" във всякаква форма, независимо дали е низ ("0") или число (дробно - 0.0 или цяло число - 0) е едно и също: празна ($ iVar) ще бъде вярна.

За сигурността и контрола

Практиката показва, че нетипичните езици дават много повече свобода на програмиста, но предполагат, че отношението му към работа по алгоритъма е по-отговорно.

PHP празен обект

PHP предлага модерен синтаксис, който поддържа добре установена семантика, има малко грешки, но изисква внимателно внимание към себе си. Например, извикване на която и да е функция включва определен брой параметри.

Като извиквате функция, изобщо не е необходимо да предавате всички параметри, можете да прехвърляте съществена част от тях. Функцията "трябва" проверява наличието и съществуването на всички параметри. Тези от тях, които липсват или имат грешни стойности, трябва да се приведат в нормален вид, да им зададат желаните стойности.

В този контекст PHP функцията empty () е от съществено значение. израз:

= "1;2" + 20 $ a = "1; 2" + 20

задайте стойността $ 21 на променливата $ a, тъй като първата част на израза ще бъде представена като 1, а втората ще бъде 20.

Резултатът ще бъде от типа номер и PHP функцията празна ($ a) ще има резултат - false, т.е. променливата $ a не е празна.

В този контекст функцията:

funcTest ($ a = 0, $ b = 20)

при обаждане:

$ res = funcTest ($ aVal, $ bVal)

ще има желания, т.е. резултат от функцията. И когато се обадите:

  • $ res = funcTest ($ aVal. $ bVal)

само един параметър със стойността на '$ aVal' попада в функционалното тяло. $ bVal 'и най-вероятно този параметър ще се интерпретира като символен низ.

PHP empty () за обекти и масиви

Синтаксисът на езика има достатъчен брой конструкции и функции за работа с обекти и масиви, но от гледна точка на проверка за съществуване и за наличие на смисъл няма особени различия от променливите.

PHP празен масив

PHP empty (array) е еквивалентен на извикване на празен (проста променлива). По отношение на предметите обаче има много важни съображения. Що се отнася до проверката на обект за съществуване (isset), въпросът едва ли има смисъл. Що се отнася до PHP функцията empty (), целесъобразността на нейното използване е под въпрос.

Според логиката на обектно-ориентираното програмиране, обектът има собствено съдържание и собствен набор от методи. Само обектът може да каже празно или не, но не и функция на трета страна, дори ако е включена в синтаксиса на езика.

Обектът и неговата функция са празни ()

На тази проста, но правна основа, всеки обект трябва да се разглежда в контекста на неговото разбиране за "празнота". Например, изпълнението на обекта "Списък на персонала" се състои от записите "Служител". Но ако няма нито един служител, то в списъка на персонала винаги има опции за позициите на вероятните служители.

На какво ниво използвате функцията PHP празен обект тук? На ниво персонал съществува всичко, дори и да няма нито един служител. На ниво "Служител" обектът вече е там, дори и да не е напълно запълнен. Не напълно запълнен обект може да бъде приписан на празен обект. Няма никаква полза за него от списъка на персонала.

В зависимост от избрания стил на програмиране, PHP функциите empty () и isset () са много важни за изграждане на безопасен и надежден алгоритъм, но за обектите все още е по-добре да имате собствена версия празна (), определена от нейното съдържание.