ÒdinatèPwogram

PHP Pratike: fisèl konparezon

PHP se konsantre sou bon manyen enfòmasyon. se sentaks la nan lang lan reprezante okonplè fonksyonèl seri fonksyon konparezon, pwosesis fisèl, operatè konparezon.

Nenpòt algorithm - yon sekans nan chwa ki genyen ak aksyon yo. Men, anvan ou fè yon chwa, ou bezwen yon bagay yo konpare li avèk yon bagay. Liy - mekanis a algorithm kontwòl pi capacious, efikas ak pratik. Liy - yon Variant nan prezantasyon done. Yon done - sa a se sijè a prensipal nan "swen" nan nenpòt ki algorithm.

Òdinè lojik "konparezon-aksyon"

An jeneral, dinamik lang sezisman fè pa gen okenn diferans ki genyen nan done yo, tankou PHP konparezon liy ak nimewo a se pa anpil diferan. Nimewo - li se tou yon fisèl, lè li gen nimewo sèlman, pwen, epi pa gen yon karaktè sèl ki pa itilize ki reprezante nimewo nan nenpòt fòm (notasyon matematik).

Si nimewo kontenkatsii otomatikman vin melanje ak liy lan, pa gen okenn kesyon yo te mande e pa gen erè kache, menm si gettype () fonksyon bay 'nonb antye relatif nan' oswa 'doub'.

Men tou, gen yon diferans ant lè l sèvi avèk is_int () ak is_numeric (). Premye a bay verite a, sèlman lè paramèt a se yon nonb antye relatif, dezyèm lan, lè nenpòt ki kantite oswa nimerik fisèl (varyab di ki kalite se 'fisèl', men konprann tout bay notasyon matematik).

Sa a se yon egzanp ki senp - yon bon ekzanp de ki jan yon operatè PHP fisèl konparezon ( '==' '===' ... '='!) Èske prezante supriz anpil. varyab yo ka chanje kalite yo, yo yo pa toujou nimewo, men prèske toujou yo ka mennen nan liy. Nan yon ka ekstrèm - li pral yon fisèl vid.

Baze sou ki pi wo a la, yon PHP fonksyon fisèl konparezon ki pi popilè. Ki sa egzakteman yo chwazi, deside pwomotè la. Anpil nan opsyon ki disponib jiska ekspresyon regilye.

Limit yo nan fonksyonèl ki disponib

PHP-konparezon nan de ranje yo se yon bon bagay "do" fonksyon strpo () - pi bon mache a, fidèl a ak opsyon pratik. Si rezilta a nan nimewo a fonksyon, Lè sa a, byen klè yon sèl fisèl ki egal a yon lòt oswa yon pati nan yon lòt.

Radikalman opoze a, men tou, absoliman dwat apwòch la - itilize nan ekspresyon regilye.

Si fonksyon $ cResult la = scCheckFileName ($ cStr) bay 'vre', lè sa a liy lan se non an nan vordovsky nan dosye-a. Li pral gen sèlman yon sèl opsyon nan ekspansyon 'doso' e pa gen karaktè nan non an: sèlman lèt, chif ak karaktè yo '_', '-'.

ka Fonksyon an dwe fasil pou konvèti nan lòt kalite dosye: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | doso | txt) {1} $ / u '. Variant sa a fin ranje eskanè Downloadable nan liy (egzanp, se PHP fisèl konparezon aplike "nan Upload dosye nan yon sèvè, ki pa gen okenn chans pou erè D '") pou HTML, js, CSS, ...

Lè l sèvi avèk strpo a () ak preg_match () - ekstrèm. Yo pa gen dirèkteman gen rapò ak pwoblèm nan nan peryòd la konparezon. Men, kesyon an nan algorithm a - se yon kesyon de lè l sèvi avèk yon konbinezon de style, sèvi ak tout opòtinite yo reyalize yon rezilta serye ak kòrèk.

Fonksyonèl PHP: fisèl konparezon

Arsenal ak lang konpare strings - yon pi bon kalite, pa sèlman fonksyon an konparezon, men tou, yon konbinezon de yon rechèch oswa ranplasan dirèkteman. Se pa toujou aji dwe kowenside ak konparezon an, depi lèt la pa nesesèman mennen nan yon chanjman nan nenpòt ranje. Anpil fwa ou gen yo chwazi youn oswa branch nan lòt nan algorithm nan.

Nòmal PHP Variant: fè fisèl konparezon fonksyon Int strkan (S1, S2).

Rezilta a nan fonksyon an:

  • 0 - liy yo egal;
  • -1 - fisèl la premye se mwens pase dezyèm lan;
  • 1 - premye nan plis pase dezyèm ranje a.

Nan pratik, sa vle di pati sa a nan premye ranje a nan dezyèm lan, ki soti nan ki PHP fonksyon (ranje konparezon) deside. Yon vèsyon plis limite nan strpo (), paske se nan ka a lèt li se posib yo konnen pozisyon nan antre a.

strkan () fonksyon - sansib. Si ou vle konpare fisèl la-sansibl, PHP ofri strcasecmp li yo (). sentaks la se menm jan an.

Nan pratik souvan oblije travay pa ak liy la tout antye, men se sèlman yon pati nan li. Pou sa seri fonksyon PHP (fisèl konparezon) enkli strncmp (S1, S2, N). paramèt nan twazyèm espesifye fè konparezon a sèlman N-bytes. Rezilta a se menm jan strkan ().

Ranje, strings ak konpare

Sa yo prèske toujou reprezante pa strings. Si nou konsidere ranje, objè, oswa estrikti yo done, li nan jis varyant diferan nan konbinezon nan yon estrikti fisèl senp.

ranje fisèl ak ranje yo kapab bay nan yon fason konplemantè. Transfòmasyon nan etalaj la nan yon implode fonksyon fisèl (etalaj, senbòl), pou egzanp: $ margins1 = implode ( ',', $ style-> getInnerMargin ()); ... algorithm nan / itilizatè ...; $ Margins2 = implode ( ',', $ style-> getInnerMargin ()) pèmèt ou rantre tout nan pozisyon an objè nan yon pozisyon nan fisèl.

Ou ka Lè sa a, fè PHP fisèl konparezon a, ak nan yon moman: $ chèk = strkan ($ margins1, $ margins2), epi fè sèten algorithm a oswa itilizatè a ke yon bagay te chanje (oswa ou pa). Si ou fè yon konparezon nan chemen an nòmal, ou pral gen sòt eleman etalaj. Li pran pi long ak se pi plis konplike.

Objè ak liy

Menm ka plis espektakilè itilize PHP (fisèl konparezon) kapab aplike via objè-oryante lide.

Lide a modèn nan fasilite yo sijere ke yo gen pwopriyete ak metòd. Ansyen an yo anjeneral reprezante pa nimewo, strings, ranje, ak lòt objè yo. Lèt la souvan gen ladan yo teknik anrejistreman (mete) nan liy lan rekiperasyon ak soti nan liy (jwenn).

Kontrèman ak ranje, objè a fè travay la ak pwopriyete pwòp yo, epi reyaji ak lòt objè yo. Objè "konpetan" nan ki pwopriyete li yo ki ap ki gen valè reyèl pou algorithm a nan pwogram nan kòm yon antye.

moman sa a bay yon baz ak opòtinite nan dosye lè anrejistreman yon afè sèlman enfòmasyon ki nesesè yo, ak nan rekiperasyon an nan jwèt la retabli tout pwopriyete yo k ap travay nan eta a ki vle. Anjeneral, nan nenpòt objè ki gen gen sibstansyèl enfòmasyon ak k ap travay (tan). Aplikasyon an nan ide sa a pèmèt ou pou konsève pou pa sèlman memwa, espas ki gen kapasite, dosye a baz done, men tou, fè li posib yo konpare liy ki senp ak pi egzak vle di.

Sentaks ak Semantics

PHP ap devlope dynamique, ak fonctionnalités li yo tou de an tèm de konpare strings ak toujou ap amelyore an tèm de tretman yo. Sepandan, pa gen anyen anpeche yon pwomotè pou avanse pou pi sant la nan gravite nan zòn nan nan Semantics.

San dout, fonksyonalite a se yon bon bagay, men yo ka sèvi ak li yo pral transfere nan siyifikasyon an nan kòd la nan objè yo. Lè yo algorithm nan prezante kòm yon sistèm nan entèraksyon ant objè, li sanble pi bon pase konparezon yo sekans ak aksyon nan sekans dirèk, yon style klasik.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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