KompjûtersProgramming

PHP Practice: string ferliking

PHP is rjochte op goede ynformaasje ôfhanneling. De syntaksis fan de taal wurdt fertsjintwurdige folslein funksjoneel set fan fergeliking funksjes, string ferwurkjen, ferliking operators.

Any algoritme - in searje fan karren en aksjes. Mar foar't jo in kar meitsje, dan nedich wat te ferlykjen mei wat. Line - de meast ruime, effisjint en praktyske algoritme kontrôle meganisme. Line - in fariant fan gegevens presintaasje. In data - dit is de wichtichste ûnderwerp fan "soarch" fan in algoritme.

Gewoane logika "ferliking-aksje"

Yn it algemien, dynamyske typen tonge docht gjin ferskillen yn 'e gegevens, lykas PHP ferliking line en it oantal is net folle oars. Nûmer - it is ek in tekenrige, as it befettet allinne nûmers, punt en der is net ien karakter dy't net brûkt om fertsjintwurdigje getallen yn ien of oare foarm (wiskundige notaasje).

As kontenkatsii getal automatysk giet oer mei de line, gjin fragen frege en gjin ferburgen flaters, sels as gettype () funksje jout de 'integer' of 'dûbel'.

Lykwols, der is in ferskil tusken mei help is_int () en is_numeric (). De earste jout de wierheid, allinne as de parameter in hiel getal, twadde, doe't alle getal of numerike tekenrige (fariabele type is 'string', mar bestiet út allegearre foarsjoen wiskundige notaasje).

Dit is in ienfâldige foarbyld - in goed foarbyld fan hoe't in PHP string ferliking operators ( '==' '===' ... '! =') Kin presintearje in soad ferrassings. De fariabelen kinne feroarje harren type, se binne net altyd nûmers, mar hast altyd se kinne liede ta de line. Yn in ekstreme gefal - it sil wêze in lege tekenrige.

Op grûn fan it boppesteande, in PHP string ferliking funksje is meast populêr. Wat krekt te kiezen, om beslute de projektûntwikkeler. In protte opsjes beskikber oant reguliere útdrukkings.

De grinzen fan de beskikbere functionele

PHP-ferliking fan de twa rigen is goed "do" function strpos () - de goedkeapste, de leauwigen en praktyske opsje. As it resultaat fan 'e funksje getal, dan dúdlik ien snaar is gelyk oan in oar of iene part nei in oare.

Radikaal tsjinoerstelde, mar ek perfoarst it rjocht oanpak - it brûken fan reguliere ekspresjes.

As de funksje $ cResult = scCheckFileName ($ cStr) jout 'wier', dan de line is de namme fan de triem vordovsky. Hy sil hawwe mar ien opsje fan de útwreiding '.docx' en gjin tekens yn 'e namme: allinnich letters, sifers en de tekens' _ ',' - '.

De funksje kin maklik omboud ta oare soarten fan triemmen: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u '. Dizze fariant strekt it berik scan line te laden (bgl, PHP string ferliking wurdt tapast "bestân oanbiede te kinnen oan in tsjinner, mei gjin kâns op input flater") foar html, JS, css, ...

Mei help fan it strpos () en preg_match () - ekstremen. Se binne net direkt ferbân mei de útjefte fan 'e ferliking perioade. Mar de fraach fan it algoritme - is in kwestje fan it brûken fan in kombinaasje fan styl, gebrûk fan alle mooglikheden om te kommen ta in betrouber en korrekt resultaat.

Tapasbere PHP: string ferliking

Arsenal taal fergelike snaren - in suver, net allinne de ferliking funksje, mar ek in kombinaasje fan in sykjen of ferfanger direkt. Net altyd hannelje moatte falle gear mei de ferliking, sûnt de lêste net needsaaklikerwize liede ta in feroaring yn elts rige. Faak je moatte kieze ien of de oare tûke fan de algoritme.

Normaal fariant PHP: fiert string ferliking function int strcmp (S1, S2).

It resultaat fan de funksje:

  • 0 - line lyk binne,
  • -1 - de earste tekenrige is minder as de twadde;
  • 1 - de earste mear as de twadde rige.

Yn 'e praktyk, dit betsjut dat in part fan' e earste rige nei de twadde, dêr't PHP funksje (ferliking rigen) beslút. In mear beheinde ferzje fan strpos (), want yn it lêste gefal is it mooglik om te witten de posysje fan de yngong.

strcmp () funksje - gefoelich. As jo wolle ferlykje de string-insensitive, PHP biedt syn strcasecmp (). De syntaksis is fergelykber.

Yn de praktyk faak nedich om te wurkjen net mei de hiele line, mar allinnich diel derfan. Foar dizze set fan funksjes PHP (tekenrige ferliking) opnommen strncmp (S1, S2, N). De tredde parameter jout útfiere de ferliking allinnich N-bytes. It resultaat is fergelykber strcmp ().

Rigen, snaren en fergelykjen

Dy binne hast altyd fertsjintwurdige troch de snaren. As wy beskôgje de rigen, foarwerpen, of gegevens struktueren, it is krekt ferskillende farianten fan kombinaasjes fan in ienfâldige tekenrige struktueren.

String rigen en rigen kinne wurde levere yn in komplemintêre wize. Omfoarming fan de rige yn in tekenrige funksje implode (rige, symboal), bygelyks: $ margins1 = implode ( ',', $ Style-> getInnerMargin ()); ... de algoritme / brûker ...; $ Margins2 = implode ( ',', $ Style-> getInnerMargin ()) kinne jo gearfoegje al fan it foarwerp posysje yn 'e string posysje.

Jo kinne dan útfiere de PHP string ferliking, en op in tiid: $ check = strcmp ($ margins1, $ margins2) en soargje derfoar dat it algoritme of de brûker dat der wat feroare is (of net). As jo útfiere in ferliking yn 'e wenstige wize, dan moatte sortearjen Array eleminten. It duorret langer en is mear yngewikkeld.

Objekten en line

Noch mear spektakulêre gebrûk PHP (tekenrige fergelikingen) útfierd wurde kinne fia object-oriented ideeën.

It moderne idee fan de foarsjennings suggerearret dat se hawwe eigenskippen en metoaden. De eardere wurde meastal fertsjintwurdige troch it getal, snaren, rigen, en oare foarwerpen. Dy lêste faak befetsje opname techniken (set) yn de hersteltiid line en fan line (krije).

Yn tsjinstelling ta rigen, it foarwerp docht it wurk mei harren eigen eigenskippen en interacts mei oare foarwerpen. Objekt "befoege" yn dêr't har eigenskippen binne fan de echte wearde foar de algoritme fan it programma as gehiel.

Dit momint jout in basis en in kâns om opnimme as opname in tekenrige allinnich de nedige ynformaasje, en yn it herstel fan 'e line te herstellen alle wurkje eigenskippen yn de winske steat. Meastal, yn elts foarwerp is der substansjele ynformaasje en wurkje (tiid). De útfiering fan dit idee kinne jo bewarje net allinne ûnthâld, skiif romte, de databank rekord, mar ek makket it mooglik om te ferlykjen de rigels ienfâldiger en krekter middel.

Syntaksis en Semantyk

PHP ûntwikkelet dynamisch, en de funksjonaliteit sawol op it mêd fan fergelykjen snaren en hieltyd ferbettere yn termen fan har behanneling. Lykwols neat foarkomt in developer om it swiertepunt yn it gebiet fan de semantyk.

Sûnder mis, de funksjonaliteit is goed, mar it brûken derfan kin wurde oerbrocht yn 'e betsjutting fan' e koade yn foarwerpen. As de algoritme wurdt presintearre as in systeem fan ynteraksje tusken foarwerpen, it liket folle better as de folchoarder fergelikingen en aksjes yn direkte sequence, in klassike styl.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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