ЭЭМ, Программалоо
PHP Practice: сап салыштыруу
PHP жакшы маалымат колдонуу багытталган. тилинин синтаксиси салыштыруу милдеттерин, сап кайра иштетүү, салыштыруу операторлорунун толук топтомун билдирет.
Ар бир алгоритм - тандоого жана иш-чаралардын тизмеги. Бирок, сиз чечим чыгарууга чейин, сен бир нерсе менен салыштырып бир нерсе керек. Line - көпчүлүк Келемдй, натыйжалуу жана практикалык алгоритм башкаруу механизми. Line - маалымат берүүнүн бир түрү. Бир маалымат - бул кандайдыр бир алгоритм "кам" негизги темасы болуп саналат.
Жөнөкөй логика "салыштыруу-чара"
Жалпысынан алганда, динамикалык терүү тил сыяктуу PHP салыштыруу сапта маалымат эч кандай айырмачылыктарды жатат жана саны көп айырмасы жок. Саны - бул кайсы бир түрү (математикалык белгилер) сандарды билдирет үчүн эмес, бир гана сандарды, маанисин жана бир каарманды жок кылган жок камтыса, ошондой эле, бир сап болуп эсептелет.
kontenkatsii саны жазуусу сызык менен жуурулушуп, анда эч кандай суроолор gettype болсо да, суроо жана эч кандай жашыруун каталар () милдети "бүтүн" же "эки" берет.
Бирок, is_int () жана is_numeric колдонуу ортосунда айырма бар (). Биринчи параметр бүтүн болгондо гана, чындыкты берет, экинчи, ар кандай сан же сандардын сап (өзгөрүлмө түрү "сап" болуп саналат, ал эми бардык каралган математикалык туюнтманы турат) болот.
Бул жөнөкөй мисал - бир PHP сап салыштыруу операторлор кандай сонун үлгү ( '==' '===' ... '='!) Көп деле алып жатат. өзгөрмөлөр, алардын түрүн өзгөртүүгө болот, алар ар дайым саны эмес, бирок, ар дайым алар сабына алып келиши мүмкүн. бир өзгөчө учурда - бул сап бош болот.
Жогоруда баяндалгандардын негизинде, бир PHP сап салыштыруу милдети абдан популярдуу болуп саналат. иштеп так тандап алууга эмне чечет. үзгүлтүксүз ырларына ылайык колдогу жолдор көп.
жеткиликтүү иш чектери
эки катар PHP-салыштыруу милдети strpos "эмне", жакшы () - арзан, ишенимдүү жана практикалык тандоо. Эгерде натыйжасында милдети саны болсо, анда ачык-айкын бир сап башка дагы бир же бир бөлүгүнө барабар.
Кескин карама-каршы, ошондой эле толугу менен туура мамиле - үзгүлтүксүз сөздөрдү колдонуу.
Эгерде милдети $ cResult = scCheckFileName ($ үзгүлтүктүү реактор) "чыныгы" берип, андан кийин сап билэ vordovsky аты. Ал өсүш бир гана пайда болот ", .docx" жана анын атынан эч кандай белгилер: бир гана тамга, сандарды жана тамгаларды '_', '-'.
милдети жонокой делолорун башка түрлөрүн кабыл алууга болот: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | өлчөмү | TXT) {1} $ / у. Бул Variant диапазону скандоочу линия көчүрүлө турган (мис, PHP сап салыштыруу "бир жүрүш үчүн Cүрөт жүктөш үчүн, киргизүү күнөөсү эч кандай кокустук менен" кошо тиркелет) HTML үчүн, эсеп, CSS, узартты ...
strpos () жана preg_match () колдонуу - өтө. Алар түздөн-түз салыштыруу мезгилдин маселеге байланыштуу эмес. Бирок, Алгоритмдин суроо - стилин айкалыштырып колдонуу маселеси бардык мүмкүнчүлүктөрдүн ишенимдүү жана туура натыйжага жетишүү үчүн пайдалануу болуп саналат.
Белек PHP: сап салыштыруу
Арсенал тили салыштырганда саптар - таза эмес, бир гана салыштыруу милдети эмес, ошондой эле түздөн-түз издөө алмаштырат, же бир аралашмасы. Акыркы сөзсүз түрдө эле кандайдыр бир катарда бир өзгөрүү алып келбейт, анткени ар дайым, салыштыруу менен дал зарыл иш-аракет эмес. Көп учурда сиз бир же бир алгоритм башка бутагын тандоо керек.
Жөнөкөй Variant PHP: сап салыштыруу милдети ички strcmp аткарат (s1, S2).
иш жыйынтыгы:
- 0 - линия бирдей;
- -1 - биринчи сап экинчи кем эмес;
- 1 - экинчи катарга эмес биринчи көп.
Иш жүзүндө, бул PHP милдети (салыштыруу катар) чечим кабыл алынган экинчи биринчи катар, ошол бөлүгүн билдирет. strpos () бир кыйла чектелген версия, акыркы учурда, анткени кирүү абалын таанып-билүү мүмкүн эмес.
strcmp () милдети - сезимтал. Эгер сап-сезбей салыштырып келсе, PHP, анын strcasecmp сунуштайт (). синтаксистик окшош.
Иш жүзүндө көбүнчө бүтүндөй сызык менен эмес, иш үчүн зарыл болгон, бирок анын бир гана бөлүгү. милдеттерин бул топтому үчүн PHP (сап салыштыруу) strncmp киргизилген (s1, S2, N). үчүнчү параметр гана N-байт салыштыруу аткарууга белгилейт. натыйжасы окшош strcmp () болуп саналат.
Arrays, саптар жана салыштыруу
Бул дээрлик дайыма Саптар өкүлдөрү болушат. Биз Arrays, предметтердин, же берилиштер структураларын карап турган болсо, анда ал жөнөкөй сап структуралардын жыйындысынан гана мира болот.
Сап Arrays менен катар кошумча жол менен берилиши мүмкүн. сап милдети жарылып салып кирди (шөкөттөп, шарттуу белгиси) которуу, мисалы: $ margins1 = жарылып ( ',', $ style-> getInnerMargin ()); ... алгоритм / колдонуучу ...; $ Margins2 = жарылып ( ',', $ style-> getInnerMargin ()) сен сап ордуна объект ээлеген бардык кошууга мүмкүндүк берет.
Сиз андан кийин PHP сап салыштыруу, бир убакта аткара албайт: $ текшерүү = strcmp ($ margins1, $ margins2) жана алгоритм же бир нерсе болушу керек (же болбошу) өзгөрдү. Эгер кадимки жол менен бир салыштыруу жасоого болсо, катар элементтерин сорттоо керек. Бул узак жана татаал болот.
Объектилери жана сап
Андан да укмуштуудай пайдалануу PHP (сап менен салыштыруу) объектиге-багытталган идеяларды аркылуу ишке ашырылышы мүмкүн.
объектилердин азыркы түшүнүк касиеттерин жана ыкмалары бар деп айтууга болот. мурунку, адатта, сандар, саптар, саптар, жана башка объекттерди өкүлдөрү болушат. Акыркы учурда калыбына линиясын жана сабында эсепке алуу ыкмалары (кой) кирет (алуу).
Бүтүн айырмаланып, объект өз касиеттери менен иштейт жана башка объекттер менен өз ара байланышта иштейт. анын касиеттери болгон Object "компетенттүү" жалпы программанын алгоритмин үчүн реалдуу баалуулук болуп эсептелет.
Бул учур каалаган абалда бардык иш касиеттерин калыбына келтирүү үчүн негиз жана сап гана керектүү маалыматты жазып жатканда жаздыруу үчүн мүмкүнчүлүк жана линияларын калыбына келтирүү каралган. Адатта, ар бир объект боюнча олуттуу маалымат жана жумушчу бар (убакыт). Бул идеяны ишке ашыруу үчүн гана эмес, эс диск мейкиндигин сактап калуу үчүн, базасына рекорд эмес, ошондой эле бул багыттар жөнөкөй жана так каражаттарды салыштырууга мүмкүндүк берет берет.
Синтаксиси жана семантикасы
PHP динамикалуу өнүгүп келе жатат, жана анын иштешине да салыштырып жагынан Саптар жана дайыма дарылоо жагынан жакшыртылган. Бирок, эч нерсе семантиканын жаатындагы тартылуу борборуна көчүп үчүн иштеп бербейт.
Албетте, иштешине жакшы, бирок аны пайдалануу объектилерин кодду маанисин өткөрүлүп берилиши мүмкүн. алгоритм объектилерин ортосунда өз ара аракеттенүү системасы катары берилген, ал түздөн-түз бир катарда, бир классикалык стили катар салыштыруулардын жана аракеттерине караганда алда канча жакшыраак көрүнөт.
Similar articles
Trending Now