PHP Практика: Сравнение на линии

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

Всеки алгоритъм е поредица от избори и действия. Но преди да направите избор, трябва да сравните нещо с нещо. Линията е най-мощният, ефективен и практичен механизъм за управление на алгоритъма. Lines е представяне на данните. А данните са основната тема на "тревогите" на всеки алгоритъм.

Нормална логика "сравнение-действие"

Като цяло езикът на динамичното въвеждане не прави никакви специални несъответствия в данните, например в PHP, сравнението на низ и числото е малко по-различно. Числото също е низ, съдържащ само числа, точка и знак, който не се използва за представяне на число във всякаква форма (математическа нотация).


В случая на съдържанието, номерът на автомата се слива с линията без излишни въпроси и без скрити грешки, дори ако функцията gettype () дава „integer“ или „double“.
Въпреки това, има разлика между използването на is_int () и is_numeric (). Първият дава истината, когато параметърът е само цяло число, а второто - произволен номер или числов низ (променливата има типа 'string', но съдържа всичко, предоставено от математическата нотация). Този прост пример е добър пример, както в PHP, операторите за сравнение на редове ('==', '===', '! =',) Може да даде много изненади. Променливите могат да променят техния тип, те не винаги са числа, но почти винаги могат да доведат до низ. вВ краен случай това ще бъде празен ред.


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

Границите на наличната функционалност

PHP-сравнението на две линии е добра функция "прави" strpos () - най-евтината, вярна и практична опция. Ако резултатът от тази функция е число, то еднозначно един ред е равен на другия или той влиза в друг. Кардиналният контраст, но и абсолютно правилният подход - използването на регулярни изрази.
Ако извикването на $ cResult = scCheckFileName ($ cStr) ще даде 'true', тогава низът е името на файла на ward. Тя ще има само една опция за разширение ".docx" и няма знаци в името: само букви, цифри и символи "_", "-". Функцията може лесно да бъде преобразувана в други типове файлове: $ cPtr = '/^([a-zA-Z0-9-_]{4239}).(html|js|css|png|jpg|docx|txt) {1 } $ /u '. Тази опция за проверка на линията разширява натоварения диапазон (например се прилага PHP низ за сравнение), за да качвате файлове на сървъра без нито един шанс за грешка при въвеждане) в html, js, css, използвайки strpos () и preg_match () - крайности.

Функция PHP: сравнение на низове

Арсеналът на сравнителните низови езици не е само функция на функцията на низ, но и въпросът за алгоритъма е въпросът за прилагане на комбинация от стилове, използвайки всички възможности за постигане на надежден и правилен резултат. сравнение ystoho, но комбинация от търсене или замяна веднага. никакви действия, винаги трябва да бъде същото сравнение,тъй като последното не води непременно до промяна на всяка линия. Често трябва да изберете един или друг клон на алгоритъма.
Обичайната версия на PHP: сравнението на линията се извършва от функцията int strcmp (s1 s2). Резултат от функцията:
  • 0 - линии равни;
  • -1 - първата линия е по-малка от втората;
  • 1 - първият ред е по-голям от втория.
  • На практика това означава, че първата линия е във втората, от която функцията PHP (сравнение на линии) взема решение. По-ограничена версия на strpos (), тъй като в последния случай можете да знаете позицията за въвеждане. Функцията strcmp () е чувствителна. Ако искате да сравните низовете, без да вземате предвид случая с символи, PHP предлага да използвате strcasecmp (). Синтаксисът е подобен. На практика често се налага да работите с цялата линия, но само с нейната част. За да направите това, набор от PHP функции (сравнение на низове) включва strncmp (s1 s2 N). Третият параметър показва, че сравнението е само N-байт. Резултатът е подобен на strcmp ().

    Масиви, редове и сравнения

    Данните са почти винаги представени от низове. Ако разгледаме масиви, обекти или информационни структури, това са само различни варианти на комбинация от по-прости структури на удар.
    Линейните масиви и редове могат да бъдат представени по един допълнителен начин. Превръщането на масив в низ е функция на импладиране (array, symbol), например: $ margins1 = implode (',', $ style- & gt; getInnerMargin ()); алгоритъм /работа на потребителя; $ margins2 = implode (',', $ style- & gt; getInnerMargin ()) ви позволява да обедините всички позиции на обект в договорена покупка. След това можете да извършите сравнение на PHP-линия и в даден момент: $ check = strcmp ($ margins1 $ margins2) и се уверете, че алгоритъмът илипотребителят е променил нещо (или не). Ако извършите сравнение по обичайния начин, тогава трябва да преминете през елементите на масива. Това се случва по-дълго и изглежда по-тромаво.

    Обекти и низове

    Още по-грандиозно използване на PHP (сравнение на линии) може да се осъществи чрез обектно-ориентирани идеи. Съвременният възглед за обектите предполага наличието на техните свойства и методи. Първите обикновено са представени от числа, редове, масиви и други обекти. Второто често включва методи за запис (put) в низ и възстановяване от (get) линия.
    За разлика от масивите, един обект прави работата си със своите свойства и взаимодейства с други обекти. Обектът е "компетентен" в това, че неговите свойства са от реална стойност за алгоритъма, програмата като цяло.
    Този момент осигурява базата и възможността да записва записа в реда само на необходимата информация и при възстановяване от низ за възстановяване на всички работещи свойства до желаното състояние. Обикновено във всеки обект има значителна и работна (временна) информация. Осъзнаването на такава идея ви позволява да запазите не само паметта, дисковото пространство, записите в базата данни, но и да ви даде възможност да сравнявате струни с по-прости и по-точни средства.

    Синтаксисът и семантиката

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

    Свързани публикации