KomputilojProgramado

PHP Praktiko: ĉeno komparo

PHP estas koncentrita sur bona informo uzado. La sintakso de la lingvo estas reprezentita plene funkcia aro de komparo funkcioj, ĉeno prilaborado, komparo operatoroj.

Ajna algoritmo - vico de elektojn kaj agoj. Sed antaŭ ol vi fari elekton, vi bezonas ion por kompari ĝin kun io. Linio - la plej capacious, efika kaj praktika algoritmo kontrolo mekanismo. Linio - varianto de datumoj prezento. Al datumo - tio estas la ĉefa temo de "zorgo" de iu ajn algoritmo.

Ordinara logiko "komparo-agado"

Ĝenerale, dinamika tajpado lango faras neniun diferencoj en la datumoj, kiel ekzemple PHP komparo linio kaj la nombro ne estas tre malsama. Nombro - ĝi estas ankaŭ ĉeno, kiam ĝi enhavas nur nombroj, punkto kaj estas eĉ unu karaktero kiu ne estas uzata por reprezenti nombrojn en ajna formo (matematika skribmaniero).

Se kontenkatsii nombro aŭtomate kunfalas kun la linio, sen demandoj kaj sen kaŝitaj eraroj, eĉ se gettype () funkcio donas la 'entjera' aŭ 'duobla'.

Tamen, ekzistas diferenco inter uzi is_int () kaj is_numeric (). La unua donas la veron, nur kiam la parametro estas entjero, dua, kiam iu nombro aŭ nombra ĉeno (variablo tipo estas 'ĉeno', sed konsistas el ĉiuj provizita matematika skribmaniero).

Simpla ekzemplo - bona ekzemplo de kiel PHP kordo komparo operatoroj ( '==' '===' ... '! =') Eblas prezenti multajn surprizojn. La variabloj povas ŝanĝi ilian tipon, ili ne estas ĉiam nombroj, sed preskaŭ ĉiam ili povas konduki al la linio. En ekstrema kazo - ĝi estos malplena ĉeno.

Surbaze de la supre, PHP kordo komparo funkcio estas plej populara. Kion ekzakte elekti, por decidi la desarrollador. Multaj ebloj disponeblaj ĝis regulajn esprimojn.

La limoj de la disponebla funkcia

PHP-komparo de la du vicoj estas bona "fari" funkcio strpos () - la plej ekonomia, la fidela kaj praktika elekto. Se la rezulto de la funkcio numero, tiam klare unu kordo egalas al alia aŭ unu parto al alia.

Radikale malon, sed ankaŭ absolute dekstre alproksimiĝo - la uzo de regulaj esprimoj.

Se la funkcio $ cResult = scCheckFileName ($ cStr) donas 'vera', tiam la linio estas la nomo de la dosiero vordovsky. Li havas nur unu opcion de vastiĝo '.DOCX' nek karakteroj en la nomo: nur literojn, ciferojn kaj la karakteroj '_', '-'.

La funkcio povas esti facile konvertis al aliaj specoj de dosieroj: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u '. Ĉi tiu varianto etendiĝas la gamo scan linio elŝutebla (ekz, PHP kordo komparo estas aplikita "alŝuti dosierojn al servanto, sen ŝanco de enigo eraron") por html, js, css, ...

Uzante la strpos () kaj preg_match () - ekstremoj. Ili ne estas rekte rilataj al la temo de la komparo periodo. Sed la demando de la algoritmo - estas afero de uzante kombino de stilo, uzo de ĉiuj ŝancoj atingi fidinda kaj ĝusta rezulto.

Funkcia PHP: ĉeno komparo

Arsenalo lingvo kompare kordoj - pura, ne nur la komparo funkcion, sed ankaŭ kombinaĵo de serĉo aŭ anstataŭaĵo rekte. Ne ĉiam agi devas koincidi kun la komparo, ĉar ĉi-lasta ne nepre kondukas al ŝanĝo en ajna vico. Ofte vi devas elekti unu aŭ la alia branĉo de la algoritmo.

Normala varianto PHP: elfaras kordo komparo funkcio int strcmp (s1, s2).

La rezulto de la funkcio:

  • 0 - linio estas egalaj;
  • -1 - la unua kordo estas malpli ol la dua;
  • 1 - la unua pli ol la dua vico.

Praktike, tio signifas, ke parto de la unua vico de la dua, de kiu PHP funkcio (komparo vicoj) decidas. Al pli limigita versio de strpos (), ĉar en la lasta kazo ĝi eblas koni la pozicion de la eniro.

strcmp () funkcio - sentema. Se vi volas kompari la kordo-sensenta, PHP proponas lian strcasecmp (). La sintakso estas simila.

Praktike ofte postulata por labori ne kun la tuta linio, sed nur parton de ĝi. Por ĉi tiu aro de funkcioj PHP (kordo komparo) inkluzivita strncmp (s1, s2, N). La tria parametro specifas plenumi la komparo nur N-bajtoj. La rezulto estas simila strcmp ().

Sensilo, kordoj kaj komparante

Ĉi tiuj estas preskaŭ ĉiam reprezentita de kordoj. Se ni konsideras la sensilo, objektoj, aŭ datumoj strukturoj, estas nur malsamaj variantoj de kombinaĵoj de simpla ĉeno strukturoj.

String arrays kaj vicoj povas esti provizita en pla maniero. Transformo de la tabelo en cxeno funkcio implode (tabelo, simbolo), ekzemple: $ margins1 = implode ( ',', $ style-> getInnerMargin ()); ... la algoritmo / uzanto ...; $ Margins2 = implode ( ',', $ style-> getInnerMargin ()) permesas al vi kunigi ĉiujn objekto pozicio en la kordo pozicio.

Vi povas fari la PHP kordo komparo, kaj en tempo: $ ĉeko = strcmp ($ margins1, $ margins2) kaj certigi la algoritmo aŭ la uzanton, ke iu ŝanĝis (aŭ ne). Se vi elfaras komparo en la kutima maniero, vi devos ordigi tabelo elementoj. Necesas pli longa kaj estas pli komplika.

Objektoj kaj linio

Eĉ pli espectaculares uzo PHP (kordo komparoj) povas esti realigita per objektema ideojn.

La moderna ideo de la instalaĵoj sugestas ke ili havas proprietojn kaj metodoj. La iama kutime reprezentitaj de nombroj, kordoj, tabeloj, kaj aliaj objektoj. Tiu lasta ofte inkludas registradon teknikoj (metis) en la reakiro linio kaj de linio (akiri).

Kontraste sensilo, la objekto faras la laboron kun siaj propraj ecoj kaj interagas kun aliaj objektoj. Objekto "kompetentaj" en kiu liaj proprietoj estas de vera valoro por la algoritmo de la programo kiel tuto.

Tiu momento provizas bazon kaj ŝanco por registri al la gravuri kordo nur la necesan informon, kaj en la reakiro de la linio redoni ĉiujn laboras bienoj en la deziratan staton. Kutime, en iu ajn objekto estas signifaj informoj kaj laborante (tempo). La efektivigo de ĉi tiu ideo permesas vin savi ne nur memoro, spaco en disko, la datumbazo rekordon, sed ankaŭ ebligas kompari la linioj simpla kaj pli preciza rimedoj.

Sintakso kaj Semantiko

PHP estas evoluantaj dinamike kaj lia funkciojn kaj laŭ komparo kordoj kaj konstante plibonigita en terminoj de ilia traktado. Tamen, nenio malhelpas desarrollador por movi la centron de gravito en la areo de semantiko.

Sendube, la funcionalidad estas bona, sed ĝia uzo povas esti transdonita en la signifo de la kodo en objektoj. Kiam la algoritmo estas prezentita kiel sistemo de interrilatado inter objektoj, ĝi aspektas multe pli bone ol la sinsekvon komparoj kaj agoj en rekta sinsekvo, klasika stilo.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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