PočítačeProgramovanie

PHP Cvičenie: Porovnanie string

PHP je zameraná na dobrú prácu s informáciami. Syntax jazyka je reprezentovaný plnohodnotný balík porovnávacej funkcie, spracovanie reťazca, operátormi porovnanie.

Akýkoľvek algoritmus - sled volieb a akcií. Ale skôr, než si vybrať, budete potrebovať niečo porovnať ju s niečím. Line - najviac priestranný, efektívne a účelné riadiaci algoritmus mechanizmu. Line - variant prezentácie dát. Dátový - to je hlavnou témou "starostlivosti" akéhokoľvek algoritmu.

Obyčajná logika "Porovnanie-action"

Všeobecne platí, že dynamické typovanie jazykom robí žiadne rozdiely v dátach, napríklad porovnávanie PHP linky a číslo je príliš nelíši. Číslo - to je tiež reťazec, ak obsahuje len čísla, miesto a tam nie je jeden znak, ktorý nie je používaný reprezentovať čísla v akejkoľvek podobe (matematické notácie).

Ak kontenkatsii číslo automaticky spojí s linkou, žiadne otázky a žiadne skryté chyby, funkcie aj keď GetType () dáva, číslo 'alebo, double'.

Avšak, tam je rozdiel medzi použitím is_int () a is_numeric (). Prvá dáva pravdu, iba v prípade, že parameter je celé číslo, druhý, keď všetky čísla a číselný reťazec (typ premennej je, reťazec ', ale zahŕňa všetky uvedené matematický zápis).

Jedná sa o jednoduchý príklad - dobrým príkladom toho, ako operátory porovnávania PHP reťazec (, == ', ===' ..., = '!), Môže predstavovať rad prekvapení. Premenné môžu meniť ich typ, nie vždy sú čísla, ale takmer vždy môžu viesť k sérii. V krajnom prípade - bude prázdny reťazec.

Na základe vyššie uvedeného, PHP porovnanie reťazec funkcia je najobľúbenejší. Čo presne si vybrať, rozhodnúť vývojárov. Veľa možností k dispozícii až do regulárnych výrazov.

Hranice k dispozícii funkčný

PHP-porovnanie dvoch radoch je dobrý "robiť" funkcie strpos () - najlacnejšie, verný a praktickou voľbou. Ak výsledok číslom funkcie, potom jednoznačne jeden reťazec sa rovná druhej alebo jednej časti do druhej.

Radikálne opačný, ale aj absolútne správny prístup - použitie regulárnych výrazov.

Ak je funkcia $ cResult = scCheckFileName ($ cstr) dáva, pravda ', potom linka je názov súboru vordovsky. Bude mať iba jednu možnosť expanzie, .docx 'a žiadne znaky v názve: iba písmená, číslice a znaky, _',, - '.

Túto funkciu možno ľahko previesť na iné typy súborov: $ cPtr =, /^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u '. Tento variant rozširuje rozsah snímania čiary sťahovateľný (napríklad nákupný PHP reťazec je aplikovaný "nahrať súbory na server, bez možnosti vstupu chyby") pre html, js, css, ...

Použitie strpos () a preg_match () - extrémy. Nie sú priamo spojené s problematikou obdobia porovnávanie. Ale otázka algoritmu - je otázkou použitia kombinácia štýlu a využitie všetkých možností na dosiahnutie spoľahlivého a správny výsledok.

Funkčné PHP: porovnanie reťazcov

Arsenal jazyk v porovnaní struny - čisté, a to nielen porovnanie funkcií, ale aj kombinácia vyhľadávanie alebo náhrada priamo. Nie vždy jednať sa musí zhodovať so porovnanie, pretože ten nemusí nutne viesť k zmene v každom riadku. Často budete musieť vybrať jednu alebo druhú vetvu algoritmu.

Normálna varianta PHP: vykoná porovnanie reťazcov funkcie int strcmp (S1, S2).

Výsledok funkcie:

  • 0 - line sú rovnaké;
  • -1 - prvý reťazec je menšia ako druhý;
  • 1 - prvá väčšia ako druhá rada.

V praxi to znamená, že časť prvej rade k druhej, z ktorých funkcie PHP (porovnanie riadky) rozhodne. Viac obmedzená verzia strpos (), pretože v takom prípade je možné spoznať pozíciu záznamu.

strcmp () funkcie - citlivé. Ak chcete porovnať reťazec necitlivý, PHP ponúka svojim strcasecmp (). Syntax je podobná.

V praxi sa často musia pracovať nie celej linky, ale len jeho časť. Pre túto sadu funkcií PHP (porovnanie reťazcov) zahrnuté strncmp (S1, S2, N). Tretí parameter určuje vykonávať porovnania iba N-bajtov. Výsledok je podobný strcmp ().

Polia, reťazce a porovnanie

Tie sú takmer vždy reprezentované reťazci. Ak vezmeme pole, objekty alebo dátové štruktúry, je to len rôzne varianty kombináciou jednoduchých reťazcových štruktúr.

String polia a riadky môžu byť opatrené doplnkovým spôsobom. Transformácia pole do funkcie reťazec implodujú (pole, symbol), napríklad: $ margins1 = implodujú ( '', $ style-> getInnerMargin ()); ... algoritmus / user ...; $ Margins2 = implodovala (, ', $ style-> getInnerMargin ()) umožňuje zlúčiť všetky polohy objektu v polohe reťazca.

Potom môžete vykonať porovnanie PHP reťazec, a zrazu: $ kontrola = strcmp ($ margins1, $ margins2) a uistite sa, že algoritmus alebo užívateľ, že sa niečo zmenilo (alebo nie). Ak máte vykonať porovnanie obvyklým spôsobom, budete musieť vyriešiť prvkov poľa. Trvá dlhšie a je zložitejší.

Objekty a linka

Ešte veľkolepejšie použitie PHP (porovnávanie reťazcov) môže byť implementovaný pomocou objektovo orientované nápady.

Moderné myšlienka zariadenie naznačuje, že majú vlastnosti a metódy. Prvý z nich sú zvyčajne reprezentované čísla, reťazce, polia, a ďalších objektov. Tá často obsahujú záznamovej techniky (dať) v regeneračnom potrubí a od vedenia (get).

Na rozdiel od poľa objekt robí prácu s vlastnými vlastnosťami a interaguje s inými objektmi. Objekt "kompetentní", v ktorom jeho vlastnosti sú skutočné hodnoty pre algoritmus programu ako celku.

Tento moment poskytuje základ a možnosť nahrať pri zázname Reťazec len potrebné informácie, a vo využívaní trati obnoviť všetky pracovné vlastnosti v požadovanom stave. Obvykle sa v každom objekte je podstatné informácie a pracovať (čas). Realizácia tejto myšlienky vám umožní ušetriť nielen pamäť, miesto na disku, databázový záznam, ale tiež umožňuje porovnávať riadky jednoduchšie a presnejšie prostriedky.

Syntax a sémantika

PHP sa dynamicky rozvíja, a jeho funkcie a to ako pokiaľ ide o porovnanie reťazcov a stále zlepšuje, pokiaľ ide o ich spracovaní. Nič však nebráni vývojár presunúť ťažisko v oblasti sémantiky.

Nepochybne, funkčnosť je dobrá, ale jeho použitie môže byť prevedená do významu tohto kódu v objektoch. Ak je algoritmus prezentovaný ako systém interakcie medzi objektmi, to vyzerá oveľa lepšie ako porovnávanie sekvencií a podujatí v priamom slede, klasickom štýle.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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