ComputersProgrammering

PHP Praktijk: string vergelijking

PHP is gericht op goede informatie handling. De syntax van de taal wordt vertegenwoordigd volledig functionele set vergelijking functies, touwtje verwerking vergelijking operators.

Elke algoritme - een opeenvolging van keuzes en acties. Maar voordat je een keuze te maken, iets te vergelijken met iets nodig. Line - de meest ruim, efficiënt en praktisch algoritme controlemechanisme. Line - een variant van de presentatie van gegevens. Een data - dit is het belangrijkste onderwerp van de "zorg" van een algoritme.

Gewoon logisch "vergelijking-action"

In het algemeen, dynamische typing tong doet geen verschillen in de gegevens, zoals PHP vergelijking lijn en het aantal is niet veel anders. Number - het is ook een string, als het alleen getallen, punt bevat en er is geen enkel teken dat niet wordt gebruikt om getallen in welke vorm dan ook (wiskundige notatie).

Als kontenkatsii nummer automatisch overgaat in de regel geen vragen en geen verborgen fouten, zelfs indien GetType () functie geeft de 'integer' of 'dubbele'.

Er is echter een verschil tussen het gebruik is_int () en is_numeric (). De eerste geeft de waarheid Alleen als de parameter een integer, tweede, wanneer een getal of numerieke reeks (variabele type 'koord', doch omvat voorzien wiskundige notatie).

Dit is een eenvoudig voorbeeld - een goed voorbeeld van hoe een PHP string vergelijking operators ( '==' '===' ... '='!) Kan vele verrassingen te presenteren. De variabelen kunnen hun type te veranderen, ze zijn niet altijd getallen, maar bijna altijd dat ze kunnen leiden tot de lijn. In een extreem geval - het zal een lege string zijn.

Op basis van het bovenstaande, een PHP string vergelijking functie is het meest populair. Wat er precies te kiezen, om de ontwikkelaar te beslissen. Veel opties beschikbaar tot reguliere expressies.

De grenzen van de beschikbare functionele

PHP-vergelijking van de twee rijen is goed "doen" -functie strpos () - de goedkoopste, de getrouwe en praktische optie. Indien het resultaat van de functie nummer en duidelijk een string is gelijk aan andere of ene deel naar het andere.

Radicaal tegenover, maar ook absoluut de juiste aanpak - het gebruik van reguliere expressies.

Als de functie $ cResult = scCheckFileName ($ CSTR) 'true' geeft, dan is de lijn is de naam van het bestand vordovsky. Hij zal slechts één optie van uitbreiding '.docx' en er geen tekens in de naam hebben: alleen letters, cijfers en de tekens '_', '-'.

De functie kan eenvoudig worden omgezet naar andere typen bestanden: $ CPTR = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u'. Deze variant vergroot het bereik scan lijn downloadbare (bijv., PHP string vergelijking wordt toegepast "om bestanden te uploaden naar een server, zonder kans op invoerfout") voor html, js, css, ...

Met behulp van de strpos () en preg_match () - uitersten. Ze zijn niet direct gerelateerd aan de uitgifte van de vergelijkingsperiode. Maar de vraag van het algoritme - is een kwestie van het gebruik van een combinatie van stijl, gebruik van alle mogelijkheden om een betrouwbare en correcte resultaat te komen.

Functionele PHP: string vergelijking

Arsenal taal vergeleken strings - een pure, niet alleen de vergelijking functie, maar ook een combinatie van een zoek- of vervanging direct. Niet altijd handelen moet samenvallen met de vergelijking, omdat deze niet noodzakelijkerwijs leiden tot een verandering in een rij. Vaak moet je een of de andere tak van het algoritme te kiezen.

Normaal variant PHP: presteert string vergelijking functie int strcmp (S1, S2).

Het resultaat van de functie:

  • 0 - regel gelijk;
  • -1 - de eerste groep kleiner is dan de tweede;
  • 1 - de eerste dan de tweede rij.

In de praktijk betekent dit dat een deel van de eerste rij naar de tweede, waaruit PHP functie (vergelijking tr) bepaalt. Een meer beperkte versie van strpos (), omdat in het laatste geval is het mogelijk om de positie van de ingang kennen.

strcmp () functie - gevoelig. Als u wilt vergelijken de string-ongevoelige, PHP biedt haar strcasecmp (). De syntax is vergelijkbaar.

In de praktijk is vaak nodig om niet te werken met de gehele lijn, maar slechts een deel ervan. Voor deze reeks functies PHP (string vergelijking) opgenomen strncmp (S1, S2, N). De derde parameter geeft voeren de vergelijking slechts N-bytes. Het resultaat is vergelijkbaar strcmp ().

Arrays, strings en vergelijken

Deze zijn vrijwel altijd vertegenwoordigd door de snaren. Als we kijken naar de arrays, objecten of datastructuren, het is gewoon verschillende varianten van combinaties van een eenvoudige string structuren.

Snaar arrays en rijen kan worden verschaft op een complementaire wijze. Transformatie van de matrix in een string functie imploderen (matrix, symbool), bijvoorbeeld: $ margins1 = imploderen ( '', $ stijl-> getInnerMargin ()); ... de algoritme / gebruiker ...; $ Margins2 = imploderen ( '', $ stijl-> getInnerMargin ()) kunt u alle van het object in de tekenreeks positie samen te voegen.

U kunt vervolgens de PHP string vergelijking, en op een moment: $ selectie = strcmp ($ margins1, $ margins2) en zorg ervoor dat het algoritme of de gebruiker dat er iets veranderd is (of niet). Als je een vergelijking op de gebruikelijke wijze uit te voeren, moet je array-elementen te sorteren. Het duurt langer en is ingewikkelder.

Objecten en lijn

Nog spectaculairder gebruik PHP (string vergelijkingen) kunnen worden geïmplementeerd via objectgeoriënteerde ideeën.

De moderne idee van de faciliteiten suggereert dat ze hebben eigenschappen en methoden. De eerstgenoemde worden meestal vertegenwoordigd door getallen, strings, arrays en andere objecten. Deze laatste bevatten vaak opnametechnieken (put) in het herstel lijn en uit de lijn (te krijgen).

In tegenstelling tot arrays, het object doet het werk met hun eigen eigenschappen en de wisselwerking met andere objecten. Object "bevoegd" waarbij de eigenschappen zijn van de reële waarde voor de algoritme van het programma als geheel.

Dit moment biedt een basis en de gelegenheid om op te nemen tijdens het opnemen van een string alleen de noodzakelijke informatie, en in het herstel van de lijn om alle werken van de gewenste toestand te herstellen. Meestal in elk object is er aanzienlijke informatie en werken (tijd). De uitvoering van dit idee kun je niet alleen het geheugen, schijfruimte, de database record op te slaan, maar maakt het ook mogelijk om de lijnen eenvoudiger en nauwkeuriger gemiddelden te vergelijken.

Syntaxis en semantiek

PHP is het ontwikkelen van een dynamische, en de functionaliteit zowel in termen van het vergelijken van strings en constant verbeterd in termen van hun behandeling. Echter, niets voorkomt dat een ontwikkelaar om het zwaartepunt te verplaatsen op het gebied van semantiek.

Ongetwijfeld is de functionaliteit is goed, maar het gebruik ervan kan de betekenis van de code objecten worden overgedragen. Wanneer het algoritme wordt voorgesteld als een systeem van interactie van objecten, het ziet er veel beter dan de volgorde vergelijkingen en acties direct sequence, een klassieke stijl.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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