Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Rozdiely medzi dva reťazce v PHP funkcia

Pre porovnanie reťazcov v PHP funkcie , môžete všeobecne použiť jednoduchý hodnotenia , ako " if ( $ řetězec1 == $ string2 ) . " Niekedy , však, dva reťazce v PHP funkcia môže mať jemné rozdiely medzi nimi --- dôsledkom spôsobu, akým zaobchádza s PHP premenné , pretože žiadny dátový typ je uložený u premenné , PHP umožňuje porovnávanie reťazcov , aj keď by porovnanie string nevhodné a niekedy zobrazuje podivné správanie , keď sa snažia zistiť rozdiely medzi dvoma reťazcami . PHP premenná písanie

Programovacie jazyky , ako pravidlo , môže byť buď " silne " alebo " slabo " napísal . V silne typový jazyk , premenné majú explicitný typ --- ako " celé číslo " alebo " reťazec " . PHP je slabo typový jazyk , je premenná " $ var1 = 1,0 " možno považovať ako celé číslo , číslo s plávajúcou desatinnou čiarkou ( pokiaľ vynásobí desatinné číslo , napríklad) alebo reťazec ( " . " Pri spojení s operátorom ) V závislosti na tom , ako sa to používa . PHP robí veľmi málo variabilné kontrolu , ktorá je všeobecne prospešná , pretože poskytuje väčšiu flexibilitu a odstraňuje potrebu pre odlievanie . Na druhú stranu , v niektorých prípadoch , to môže spôsobiť neočakávané správanie v programovaní .
Reťazcové hodnoty a odlievanie

PHP podporuje používanie odlievanie --- konverzie premenná výslovne z jedného typu na iný --- zahrnutím premennej typu v zátvorkách pred premenná je inicializovaná . Napríklad , " $ var2 = ( string ) $ var1 " inicializuje " $ var2 " ako explicitné reťazec . PHP tiež umožňuje on - the - fly obsadenie reťazec pomocou tzv " strval ( ) " funkcia : kód " $ var3 = true " vytvára " $ var3 " ako booleovské premenné . " Strval ( $ var3 ) " bude považovať , že rovnaké booleovské premenné ako reťazec , ako je napríklad v porovnaní reťazcov alebo podreťazec operácií .
Porovnávanie reťazcov

Niekedy , PHP slabý písania sa môže stať problémom . Napríklad , zvažovať prípad " $ var1 = 1,0 ; $ var2 = 1 ; . " Porovnanie PHP medzi dvoma darčeky je ako rovnocenné : if ( $ var1 == $ var2 ) vráti " true " , pretože v predvolenom nastavení PHP zaobchádza s nimi ako čísla . To platí aj keď sú balené v strval ( ) funkcie : if ( strval ( $ var1 ) == strval ( $ var2 ) ) sa tiež vrátiť " true " . Ak chcete presne porovnať tieto dva reťazce v PHP funkcie , použite " === " porovnanie: if ( $ var1 === $ var2 ) vráti " false . "
Objekty ako Strings

ochota PHP previesť premenné on - the - fly tiež môže spôsobiť problémy pri používaní objektov . Zvážte napríklad dokument XML , ktorý obsahuje rovnaký reťazec ( napríklad názov, napríklad " John Doe " ) v dvoch miestach . Ak vložíte každý do premennej s vstavaným - in " SimpleXML " knižnice PHP , bude porovnanie medzi týmito dvoma premennými vráti " false " , aj keď hodnota reťazec je zhodný , pretože každý nesie informáciu o hierarchii XML a dve technicky odlišné pretože sa nachádza v rôznych častiach súboru XML . V tomto prípade , strval ( ) príde na pomoc vrátením iba reťazec , bez ďalších informácií o uzla .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené