KompyutaProgramu

PHP Mazoezi: kamba kulinganisha

PHP inalenga nzuri utunzaji habari. syntax ya lugha inawakilishwa kazi kikamilifu seti ya kazi kulinganisha, usindikaji kamba, waendeshaji ulinganifu.

algorithm yoyote - mlolongo wa maamuzi na vitendo. Lakini kabla ya kufanya uchaguzi, unahitaji kitu kwa kulinganisha na kitu fulani. Line - capacious, madhubuti na vitendo algorithm kudhibiti utaratibu. Line - toleo tofauti la kuwasilisha data. data - hii ni mada kuu ya "huduma" ya algorithm yoyote.

Kawaida mantiki "kulinganisha-hatua"

Kwa ujumla, nguvu ya kuandika lugha gani hakuna tofauti katika data, kama vile PHP kulinganisha mstari na idadi ni si tofauti sana. Idadi - ni pia kamba, wakati ina namba tu, pointi na hakuna tabia moja ambayo haitumiki kwa kuwakilisha idadi ya aina yeyote (hisabati nukuu).

Kama namba kontenkatsii moja kwa moja huingiza na mstari, hakuna maswali aliuliza na hakuna makosa siri, hata kama gettype () kazi inatoa 'integer' au 'mara mbili'.

Hata hivyo, kuna tofauti kati ya kutumia is_int () na is_numeric (). kwanza anatoa ukweli, tu wakati parameter ni integer, ya pili, wakati idadi yoyote au numeric kamba (variable aina ni 'kamba', lakini inajumuisha zote zilizotolewa hisabati nukuu).

Huu ni mfano rahisi - mfano mzuri wa jinsi waendeshaji PHP kamba kulinganisha ( '==' '===' ... '='!) Je, sasa mengi ya kushangaza. vigezo inaweza kubadilisha aina yao, si mara zote idadi, lakini karibu kila mara wao unaweza kusababisha line. Katika kesi uliokithiri - itakuwa kamba tupu.

Kulingana na hapo juu, PHP kamba kulinganisha kazi ni maarufu zaidi. Nini hasa ya kuchagua, kuamua developer. Kura ya chaguzi inapatikana hadi maneno ya kawaida.

mipaka ya inapatikana kazi

PHP-kulinganisha safu mbili ni mzuri "kufanya" kazi strpos () - gharama nafuu, waaminifu na chaguo vitendo. Kama matokeo ya idadi ya kazi, basi ni wazi kamba moja ni sawa na mwingine au sehemu moja hadi nyingine.

Radikalt kinyume, lakini pia kabisa njia sahihi - matumizi ya maneno ya kawaida.

Kama kazi $ cResult = scCheckFileName ($ cStr) anatoa 'kweli', kisha line ni jina la faili vordovsky. Yeye kuwa na chaguo moja tu ya upanuzi 'docx' na hakuna herufi katika jina: herufi, nambari na herufi '_', '-'.

kazi inaweza kuwa rahisi kubadilishwa na aina nyingine ya files: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u. Lahaja hii hadi mbalimbali Scan line kupakuliwa (kwa mfano, PHP kamba kulinganisha inatumika "kupakia faili kwa server, na hakuna nafasi ya makosa ya kuingiza data") kwa ajili ya html, JS, css, ...

Kwa kutumia strpos () na preg_match () - extremes. Wao si moja kwa moja na suala la kipindi ulinganifu. Lakini swali la algorithm - ni suala la kutumia mchanganyiko wa mtindo, matumizi ya fursa zote kufikia kuaminika na sahihi matokeo.

Kazi PHP: kamba kulinganisha

lugha Arsenal masharti ikilinganishwa - safi, si tu kazi kulinganisha, lakini pia mchanganyiko wa utafutaji au mbadala moja kwa moja. Si mara zote hatua lazima sambamba na kulinganisha, tangu mwisho si lazima kusababisha mabadiliko katika safu ya yoyote. Mara nyingi una kuchagua moja au tawi wa pili wa algorithm.

Kawaida lahaja PHP: hufanya kamba kulinganisha kazi int strcmp (S1, S2).

Kutokana na kazi:

  • 0 - line ni sawa;
  • -1 - string kwanza ni ndogo kuliko ya pili,
  • 1 - kwanza zaidi ya mstari wa pili.

Katika mazoezi, hii ina maana kwamba ni sehemu ya safu ya kwanza na ya pili, ambayo PHP kazi (kulinganisha safu) kuamua. toleo wachache wa mpango wa strpos (), kwa sababu katika kesi ya pili inawezekana kujua msimamo wa kuingia.

strcmp () kazi - nyeti. Kama unataka kulinganisha kamba-insensitive, PHP inatoa strcasecmp yake (). syntax ni sawa.

Katika mazoezi mara nyingi required kufanya kazi si kwa mstari mzima, lakini sehemu tu ya hiyo. Kwa seti ya kazi PHP (kamba kulinganisha) ni pamoja na strncmp (S1, S2, N). Kigezo cha tatu inabainisha kufanya kulinganisha tu N-ka. Matokeo yake ni sawa strcmp ().

Arrays, masharti na kulinganisha

Hizi ni karibu kila mara inawakilishwa na masharti. Kama tunaona arrays, vitu, au miundo data, ni tu variants tofauti ya mchanganyiko wa miundo rahisi kamba.

arrays String na safu inaweza kutolewa kwa namna ziada. Mabadiliko ya safu katika kamba kazi implode (safu, alama), kwa mfano: $ margins1 = implode ( ',', $ style-> getInnerMargin ()); ... algorithm / mtumiaji ...; $ Margins2 = implode ( ',', $ style-> getInnerMargin ()) utapata kuunganisha wote wa kitu nafasi katika nafasi kamba.

Basi unaweza kufanya PHP kamba kulinganisha, na wakati huo: $ kuangalia = strcmp ($ margins1, $ margins2) na kuhakikisha algorithm au mtumiaji kuwa kitu imebadilika (au la). Kama kufanya kulinganisha katika njia ya kawaida, itabidi kutatua mambo mkusanyiko. Inachukua muda mrefu na ni ngumu zaidi.

Vitu na mstari

Hata matumizi zaidi ya kuvutia PHP (kamba kulinganisha) inaweza kutekelezwa kupitia kitu-oriented mawazo.

Wazo kisasa ya vifaa unaonyesha kwamba kuwa na mali na mbinu. zamani ni kawaida kuwakilishwa na idadi, masharti, arrays, na vitu vingine. mara nyingi mwisho ni pamoja na mbinu za kurekodi (kuweka) kulingana kufufua na kutoka kwenye mstari (kupata).

Tofauti na arrays, kitu hufanya kazi na mali zao na kuingiliana na vitu vingine. Kitu "uwezo" ambapo mali yake ni ya thamani ya kweli kwa algorithm ya mpango kwa ujumla.

wakati huu hutoa msingi na nafasi ya kurekodi wakati kurekodi kamba tu maelezo muhimu, na katika kurejea kwa line ya kurejesha mali yote kufanya kazi katika hali ya taka. Kwa kawaida, katika kitu chochote kuna taarifa za kutosha na kufanya kazi (muda). utekelezaji wa wazo hili utapata kuokoa kumbukumbu si tu, nafasi disk, rekodi database, lakini pia inawezesha kulinganisha mistari rahisi na sahihi zaidi njia.

Syntax na Semantiki

PHP ni kuendeleza dynamically, na utendaji wake katika masuala ya masharti kulinganisha na unaboreshwa katika suala la matibabu yao. Hata hivyo, hakuna kitu kuzuia developer na hoja ya katikati ya mvuto katika eneo la semantiki.

Bila shaka, utendaji ni nzuri, lakini matumizi yake zinaweza kuhamishiwa katika maana ya kanuni katika vitu. Wakati algorithm zimetolewa kama mfumo wa mawasiliano kati ya vitu, inaonekana bora zaidi kuliko kulinganisha mlolongo na hatua katika mlolongo wa moja kwa moja, mtindo classical.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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