/ / ПХП пракса: Упоређивање стрингова

ПХП вежба: упоређивање низова

ПХП је добро оријентисан ка обради информација. Синтакса језика представљена је комплетним скупом функција упоређивања, обраде стрингова и оператора поређења.

поређење стрингова у пхп -у

Сваки алгоритам је низ избора ипоступак. Али пре него што направите избор, морате нешто упоредити са нечим. Низови су најпространији, најефикаснији и најпрактичнији механизам за контролу алгоритма. Низови су варијанта представљања података. А подаци су главна „брига“ сваког алгоритма.

Конвенционална логика поређења и деловања

Генерално, језик за динамичко куцање нијеправи посебне разлике у подацима, на пример, у ПХП -у поређење низа и броја није много различито. Број је такође низ, када садржи само бројеве, тачку и не постоји ниједан знак који се не користи за представљање броја у било ком од његових облика (математички запис).

У случају садржаја, број се аутоматски спаја са низом без непотребних питања и без скривених грешака, чак и ако функција геттипе () даје „цео број“ или „двоструко“.

пхп упоређујући два низа

Међутим, постоји разлика између коришћења функцијеис_инт () и ис_нумериц (). Први је тачан када је параметар само цео број, други када је било који број или нумерички низ (променљива је типа "стринг", али садржи све што је обезбеђено математичким записом).

Овај једноставан пример је добар пример, као у ПХП -уоператори за упоређивање стрингова ("==", "===", "! =", ...) могу вам донети многа изненађења. Променљиве могу променити свој тип, нису увек бројеви, али се скоро увек могу претворити у низ. У крајњем случају, то ће бити празан низ.

пхп оператори поређења стрингова

На основу овога, функција поређења стрингова ПХП -а је далеко најпопуларнија. Који ће изабрати зависи од програмера. Доступне су тоне опција до регуларних израза.

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

ПХП поређење два низа "добро" функционишестрпос () је најјефтинија, најсигурнија и најпрактичнија опција. Ако је резултат ове функције број, онда је један низ јединствено једнак другом или је један укључен у други.

Радикално супротан, али и апсолутно исправан приступ је употреба регуларних израза.

Пример аутора није слика

Ако функција позове $ цРесулт =сцЦхецкФилеНаме ($ цСтр) ће дати "труе", што значи да је низ назив Ворд датотеке. Имаће само једну варијанту проширења ".доцк" и без знакова у имену: само слова, бројеве и знакове "_", "-".

Функција се може лако претворити у другуврсте датотека: $ цПтр = "/^([а-зА-З ... 0-9 -_> [4,239]]) у". Ова опција провере низа проширује опсег постављених (на пример, у ПХП -у, поређење стрингова се примењује „за отпремање датотека на сервер, без иједне шансе грешке при уносу“) на хтмл, јс, цсс, ...

Користећи стрпос () и прег_матцх () -крајности. Они нису директно повезани са питањем поређења термина. Али питање алгоритма је питање примене комбинације стилова, користећи све могућности за постизање поузданог и тачног резултата.

ПХП функционалност: поређење стрингова

Арсенал језика наспрам жица није самочисте функције поређења, али и комбинација са директним проналажењем или заменом. Радња се не мора увек подударати са поређењем, јер ово последње не мора нужно довести до промене у било ком реду. Често је потребно изабрати једну или другу грану алгоритма.

Уобичајена верзија ПХП -а: поређење стрингова врши функција инт стрцмп (с1, с2).

Резултат функције:

  • 0 - низови су једнаки;
  • -1 - први ред је мањи од другог;
  • 1 - прва линија је већа од друге.

У пракси то значи да први улазистринг у другу, из које ПХП функција (поређење низа) доноси одлуку. Ограниченија верзија стрпос (), јер у овом другом случају можете знати позицију појављивања.

Функција стрцмп () разликује велика и мала слова. Ако требате упоредити низове на начин који не разликује велика и мала слова, ПХП предлаже употребу стрцасецмп (). Синтакса је иста.

У пракси је често потребно радити не са свиманиз, али само са његовим делом. Да би то учинили, скуп функција ПХП (поређење стрингова) укључује стрнцмп (с1, с2, Н). Трећи параметар упућује на поређење само Н-бајтова. Резултат је исти као стрцмп ().

Низови, низови и поређење

Подаци су скоро увек представљени као низови. Ако узмемо у обзир низове, објекте или информационе структуре, онда су то једноставно различите комбинације једноставнијих низова.

пхп функција поређења стрингова

Низови низова и низови могу битипредстављено на комплементаран начин. Претварање низа у низ помоћу функције имплоде (низ, симбол), на пример: $ маргинс1 = имплоде (",", $ стиле-> гетИннерМаргин ()); ... рад алгоритма / корисника ...; $ маргинс2 = имплоде (",", $ стиле-> гетИннерМаргин ()) вам омогућава да спојите све позиције објеката у низ позиција.

Затим можете да упоредите низове ПХП -а и уједном: $ цхецк = стрцмп ($ маргинс1, $ маргинс2) и проверите да ли је алгоритам или корисник нешто променио (или није). Ако упоређивање изведете на уобичајен начин, мораћете да поновите елементе елемената низа. Траје дуже и изгледа незграпније.

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

Још спектакуларнија употреба ПХП-а (поређење стрингова) може се остварити кроз објектно оријентисане идеје.

Савремено разумевање објекатапретпоставља да имају својства и методе. Први су обично представљени бројевима, низовима, низовима и другим објектима. Потоњи често укључују методе писања (стављања) у стринг и враћања из низа (гет).

За разлику од низа, објекат радињегова својства и ступа у интеракцију са другим објектима. Објекат је "компетентан" по томе што његова својства имају стварно значење за алгоритам, програм у целини.

пхп низ и поређење бројева

Овај тренутак пружа основу и прилику зау низ унесите само потребне информације, а при враћању из низа вратите сва радна својства у жељено стање. Обично у сваком објекту постоје битне и радне информације (привремене). Имплементација ове идеје омогућава вам уштеду не само меморије, простора на диску, записа базе података, већ такође омогућава упоређивање низова једноставнијим и тачнијим средствима.

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

ПХП се динамично развија, а његова функционалност је обекако у погледу поређења низа, тако и у погледу њихове обраде стално се побољшава. Међутим, ништа не спречава програмера да помери тежиште у подручје семантике.

Без сумње, функционалност је добра, али јеупотреба се може пренети на семантички део кода, на објекте. Када се алгоритам представи као систем интеракције објекта, он изгледа много боље од низа поређења и радњи у директном, секвенцијалном, класичном стилу.

Ликед:
0
Популарне поруке
Духовни развој
Храна
иуп