КомпјутериПрограмирање

Пхп Пракса: низ поређење

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

Сваки алгоритам - низ избора и акција. Али, пре него што направите избор, морате нешто да га упореди са нечим. Лине - највише простран, ефикасна и практична контрола алгоритам механизам. Лине - варијанта презентације података. Је дата - то је главна тема "бригу" о било алгоритма.

Обична логика "упоређивање-акција"

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

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

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

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

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

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

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

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

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

Функција се лако може претворити у друге врсте фајлова: $ цПтр = '/^([а-зА-З...0-9\-\_]{4,239})\.(хтмл|јс|цсс|пнг|јпг | доц | ТКСТ) {1} $ / u '. Ова варијанта се простире (на пример, ПХП-ниска цена се примењује "за уплоад фајлова на сервер, без шансе улазног грешке") Опсег скенирања линије преузети и за хтмл, ЈС, ЦСС, ...

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

Функционална пхп: низ поређење

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

Нормал вариант ПХП: врши низ поређења фунцтион инт стрцмп (с1, с2).

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

  • 0 - линија једнаке;
  • -1 - прва жица мањи од другог;
  • 1 - први више него у другом реду.

У пракси, то значи да је део првом реду до другог, од којих функција тект (поређење редови) одлучи. Много ограничена верзија стрпос (), јер у другом случају је могуће да се зна позицију уласка.

стрцмп () функција - осетљиви. Ако желите да упоредите стринг-неосетљив ПХП нуди свој стрцасецмп (). Синтакса је слична.

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

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

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

Стринг низови и редови могу бити обезбеђена у раду надопуњују. Трансформација низа у функцију стринг имплоде (Арраи, симбол), на пример: $ маргинс1 = имплоде ( ',', $ Стиле-> гетИннерМаргин ()); ... алгоритам / корисник ...; $ Маргинс2 = Если у вас ( ',', $ стил-> гетИннерМаргин ()) вам омогућава да споји све позиције објекта у позицију стринг.

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

Објекти и линија

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

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

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

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

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

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

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sr.unansea.com. Theme powered by WordPress.