Համակարգիչներ, Ծրագրավորում
PHP պրակտիկա: լարային համեմատությունը
PHP կենտրոնացած է լավ տեղեկատվական բեռնաթափման. The շարահյուսություն լեզվի ներկայացված լիովին ֆունկցիոնալ շարք համեմատական գործառույթների, լարային վերամշակման, համեմատության օպերատորների:
Ցանկացած ալգորիթմը մի հաջորդականությունը ընտրության եւ գործողությունների: Սակայն, նախքան դուք կատարել ընտրություն, դուք պետք է մի բան համեմատել այն բանի: Line - առավել տարողունակ, արդյունավետ եւ գործնական ալգորիթմը վերահսկողության մեխանիզմը: Line - մի տարբերակ տվյալների ներկայացման: Տվյալների - սա հիմնական թեման «օգնության» ցանկացած ալգորիթմի.
Սովորական տրամաբանությունը «համեմատությունը-ակցիան»
Ընդհանուր առմամբ, դինամիկ մուտքագրում լեզուն չի տալիս տարբերությունները տվյալները, ինչպիսիք են PHP համեմատությունը գծի եւ համարը շատ չի տարբերվում: Միավորների քան - դա նաեւ լարային, երբ այն պարունակում է միայն թվեր, կետ, եւ չկա ոչ մի կերպար, որը չի օգտագործվում է ներկայացնում թվեր ցանկացած ձեւի (մաթեմատիկական նշում):
Եթե kontenkatsii թիվը ինքնաբերաբար merges հետ գծում, չկան հարցեր ուղղեցին եւ ոչ թաքնված սխալներ, նույնիսկ եթե gettype () ֆունկցիան հնարավորություն է տալիս «թիվ» կամ «կրկնակի»:
Սակայն, կա մի տարբերություն `օգտագործելով is_int () եւ is_numeric (). Առաջին տալիս ճշմարտությունը, միայն այն ժամանակ, երբ պարամետր է ամբողջ թիվ, երկրորդ, երբ որեւէ համարը, կամ թվային լարային (փոփոխական տեսակը, «լարային ', բայց ներառում է բոլոր տրամադրված մաթեմատիկական նշում):
Սա մի պարզ օրինակ, մի լավ օրինակ է, թե ինչպես մի PHP լարային համեմատության օպերատորներ ( '==' '=== ...'! = ') Կարող է ներկայացնել բազմաթիվ անակնկալներ: Փոփոխականները կարող են փոխել իրենց տեսակի, նրանք միշտ չէ, որ թվեր, բայց գրեթե միշտ, նրանք կարող են հանգեցնել գծի. Ծայրահեղ դեպքում, դա կլինի դատարկ տող:
Հիման վրա, որ վերը նշված, մի PHP լարային համեմատություն գործառույթը առավել տարածված. Որն ընտրել, որպեսզի որոշի, թե մշակողի. Շատ տարբերակներ հասանելի մինչեւ կանոնավոր արտահայտություններ:
Սահմանները առկա ֆունկցիոնալ
PHP-համեմատությունը երկու շարքերում, լավ է «անել» ֆունկցիայի strpos () - ամենաէժան, հաւատարիմ եւ գործնական տարբերակ: Եթե արդյունքում ֆունկցիայի թվով, ապա հստակ մեկ տող հավասար է մեկ այլ, կամ մի մասը մյուսին:
Արմատապես հակառակն է, այլեւ միանգամայն ճիշտ մոտեցում - ի օգտագործումը կանոնավոր արտահայտություններ:
Եթե ֆունկցիան $ cResult = scCheckFileName ($ cStr) տալիս «ճշմարիտ», ապա գիծը անունը ֆայլի vordovsky: Նա պետք է միայն մեկ տարբերակ ընդլայնման '.docx' եւ ոչ մի նիշ անունով, միայն տառերից, թվերից եւ սիմվոլները '_', ''.
Ֆունկցիան կարող է հեշտությամբ փոխարկվում է այլ տեսակի ֆայլեր: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u: Այս տարբերակը տարածվում շարք scan գծի բեռնվող (օրինակ, PHP լարային համեմատություն կիրառվում է «վերբեռնել ֆայլերը մի սերվերի վրա, առանց հնարավորություն մուտքագրման սխալի» համար), HTML, JS, CSS, ...
Օգտագործելով strpos () եւ preg_match () - ծայրահեղության. Նրանք չեն անմիջականորեն կապված խնդրին `համեմատության ժամանակահատվածում: Բայց հարց է ալգորիթմ, հարց է օգտագործելով համադրություն ոճով, օգտագործման բոլոր հնարավորությունների հասնել հուսալի եւ ճիշտ արդյունք:
Ֆունկցիոնալ PHP: լարային համեմատությունը
Arsenal լեզուն համեմատ տողերի մի մաքուր, ոչ միայն համեմատությունը գործառույթը, այլեւ մի համադրություն է խուզարկության կամ փոխարինող անմիջականորեն: Միշտ չէ, որ հանդես է գալիս, պետք է համընկնի Համեմատության, քանի որ վերջինս չի անպայմանորեն հանգեցնում է փոփոխության յուրաքանչյուր տողում. Հաճախ դուք պետք է ընտրել մեկ կամ մյուս մասնաճյուղը ալգորիթմի.
Normal տարբերակ PHP: իրականացնում լարային համեմատություն ֆունկցիա int strcmp (s1, 2).
Արդյունքն է գործում:
- 0 - գիծը հավասար են.
- -1 - Առաջին լարային պակաս է, քան երկրորդը,
- 1 - առաջին, ավելի քան երկրորդ անընդմեջ:
Գործնականում դա նշանակում է, որ մասը, առաջին շարքում, երկրորդ, որից PHP ֆունկցիա (համեմատության շարքերում) է որոշում: Ավելի սահմանափակ տարբերակը strpos (), քանի որ վերջին դեպքում դա հնարավոր է իմանալ դիրքորոշումը մտնելուց:
strcmp () ֆունկցիան զգայուն. Եթե դուք ուզում եք համեմատել լարային-անտարբեր, PHP առաջարկում է իր strcasecmp (). The շարահյուսություն է նման.
Գործնականում հաճախ պահանջվում է աշխատել ոչ թե գծի ամբողջ, բայց միայն դրա մի մասը: Համար, այս փաթեթի գործառույթների PHP (լարային համեմատություն) ներառված strncmp (s1, S2, Ն): Երրորդ պարամետրը սահմանում է կատարել համեմատություն միայն N-բայթ. Արդյունքն ակնառու է, նման strcmp ().
Arrays, տողերի եւ համեմատելով
Դրանք գրեթե միշտ ներկայացված են տողերի: Եթե հաշվի առնենք, այն arrays, օբյեկտների, կամ տվյալների կառուցվածքներ, դա պարզապես տարբեր տարբերակներ համադրությունը մի պարզ լարային կառույցներում:
Լարային arrays եւ շարքերում կարող է տրամադրվել փոխլրացման կարգով: Վերափոխումը զանգված մեջ լարային ֆունկցիայի implode (array, խորհրդանիշ), օրինակ `$ margins1 = implode ( ',', $ style-> getInnerMargin ()); ... ալգորիթմը / օգտագործողը ...; $ Margins2 = implode ( ',', $ style-> getInnerMargin ()) թույլ է տալիս Ձեզ միաձուլել բոլոր օբյեկտի դիրքի լարային պաշտոնում:
Դուք կարող եք, ապա կատարել է PHP լարային համեմատություն, եւ մի ժամանակ: $ ստուգում = strcmp ($ margins1, $ margins2) եւ համոզվեք, որ ալգորիթմը կամ օգտագործողի, որ ինչ-որ բան փոխվել է (կամ ոչ): Եթե դուք կատարել մի համեմատություն է սովորական ճանապարհով, դուք պետք է տեսակավորելու զանգված տարրեր: Այն տեւում է ավելի երկար եւ ավելի բարդ է.
Օբյեկտների եւ գիծ
Նույնիսկ ավելի տպավորիչ օգտագործման PHP (լարային համեմատությունները) կարող է իրականացվել միջոցով օբյեկտ-կողմնորոշված գաղափարների.
Որ ժամանակակից գաղափարը օբյեկտների ենթադրում է, որ նրանք ունեն հատկությունները եւ մեթոդները: Նախկին որոնք սովորաբար ներկայացված են համարներով, տողերի, arrays, եւ այլ օբյեկտների. Վերջինս հաճախ ներառում ձայնագրման մեթոդներ (դնում) են վերականգնման գծի եւ ստացված գծի (ձեռք բերել):
Ի տարբերություն arrays, որ օբյեկտը անում աշխատանքը իրենց սեփական հատկությունների եւ շփվում այլ օբյեկտների. Object «իրավասու» է, որը նրա հատկությունները են իրական արժեքի համար ալգորիթմի ծրագրի, որպես ամբողջություն.
Այս պահը ապահովում է հիմք եւ հնարավորություն են տալիս արձանագրել, երբ արձանագրում է պարանի միայն անհրաժեշտ տեղեկատվություն, իսկ վերականգնման գծի է վերականգնել բոլոր աշխատանքային հատկությունների ցանկալի վիճակում: Սովորաբար, ցանկացած օբյեկտ կա էական տեղեկատվություն եւ աշխատանքային (ժամանակ): Իրականացումը Այս գաղափարի թույլ է տալիս Ձեզ խնայել ոչ միայն հիշողությունը, սկավառակի տարածություն, տվյալների բազայի ռեկորդ, այլեւ հնարավոր է դարձնում համեմատել այն տողերը պարզ եւ ավելի ճշգրիտ միջոցներ:
Շարահյուսական եւ իմաստաբանություն
PHP դինամիկ կերպով զարգանում է, եւ նրա գործառույթն այնպես էլ առումով համեմատության տողերի եւ անընդհատ բարելավվել առումով իրենց բուժման համար: Սակայն, ոչինչ չի խանգարում, մի մշակողի տեղափոխել ծանրության կենտրոնը այդ տարածքում իմաստաբանություն.
Անկասկած, ֆունկցիոնալությունը, լավ է, բայց դրա օգտագործումը կարող է փոխանցվել իմաստով օրենսգրքի օբյեկտների. Երբ ալգորիթմը ներկայացվում է որպես համակարգի սուբյեկտների միջեւ փոխգործակցության օբյեկտների, դա շատ ավելի լավ է, քան հերթական համեմատությունները եւ գործողությունների ուղղակի հաջորդականությամբ, մի դասական ոճը:
Similar articles
Trending Now