КомпјутериПрограмирање

PHP пракса: низа споредба

PHP е фокусирана на добри информации ракување. Синтаксата на јазикот е претставена целосно функционален сет на функции споредба, обработка низа, операторите споредба.

Било кој алгоритам - низа на избори и акции. Но, пред да се направи избор, ќе треба нешто да се спореди со нешто. Линија - најмногу обемист, ефикасен и практичен механизам за контрола алгоритам. Линија - варијанта на презентација на податоците. А податоци - ова е главната тема на "заштита" на било кој алгоритам.

Обичните логика "споредба-акција"

Во принцип, динамичен пишување јазик прави разлики во податоците, како на пример споредба PHP линија и бројот не е многу поинаква. Број - тоа е, исто така, стринг, кога тоа што содржи само бројки, точка и таму не е еден карактер кој не се користат за да претставуваат броеви во било која форма (математичка нотација).

Ако kontenkatsii број автоматски се спои со линијата, без прашања праша и без скриени грешки, дури и ако 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 '. Оваа варијанта се протега спектар скенирање линија за превземање на (на пример, PHP низа споредба се применуваат ", за да испратите фајлови на серверот, без можност за влез грешка") за HTML, ЈС, CSS, ...

Користење на strpos () и preg_match () - крајности. Тие не се директно поврзани со прашањето на периодот за споредба. Но, на прашањето на алгоритмот - е прашање за користење на комбинација на стил, ги искористат сите можности за да се постигне сигурен и точен резултат.

Функционална PHP: низа споредба

Арсенал јазик во однос жици - чиста, не само функција на споредба, но, исто така, комбинација на пребарување или замена директно. Не е секогаш да дејствува мора да се совпаѓа со споредба, бидејќи таа не мора да доведе до промена во секој ред. Често ќе треба да изберете една или друга гранка на алгоритам.

Нормална варијанта PHP: извршува низа споредба функција int strcmp (S1, S2).

Резултатот на функцијата:

  • 0 - линија се еднакви;
  • -1 - првата низа е помалку од секунда;
  • 1 - првиот повеќе од вториот ред.

Во пракса, ова значи дека дел од првиот ред на втората, од кој одлучува PHP функцијата (споредба редови). А повеќе ограничена верзија на strpos (), бидејќи во вториот случај тоа е можно да се знае позицијата на влез.

strcmp () функција - чувствителни. Ако сакате да се споредат низа нечувствително, PHP нуди на своите strcasecmp (). Синтаксата е слична.

Во практиката често се бара да не работат со целата линија, но само дел од него. За овој сет на функции за PHP (низа споредба) вклучени strncmp (S1, S2, N). Третиот параметар одредува изврши споредба само N-бајти. Резултатот е слична strcmp ().

Низи, стрингови и споредување

Тие се речиси секогаш се претставени со жици. Ако ги земеме предвид низи, предмети, или структури на податоци, тоа е само различни варијанти на комбинации на едноставен низа структури.

Стринг низи и редови може да се обезбеди во комплементарен начин. Трансформација на низа во низа функција спуквам a (низа, симбол), на пример: $ margins1 = спуквам ( '', $ style-> getInnerMargin ()); ... алгоритам / корисниците ...; $ Margins2 = спуквам ( '', $ style-> getInnerMargin ()) Ви овозможува да се спојат сите на позицијата на објектот во позиција на стрингот.

тогаш може да се направи споредба на PHP низа, а во исто време: $ чек = strcmp ($ margins1, $ margins2) и бидете сигурни алгоритам или корисникот дека нешто е променето (или не). Ако се изврши споредба на вообичаениот начин, ќе треба да се најде решение низа елементи. Тоа трае подолго и е посложена.

Објекти и линија

Дури и повеќе спектакуларен употреба PHP (низа споредби) може да се спроведе преку објектно-ориентирани идеи.

Модерната идеја на објектите укажува на тоа дека тие имаат својства и методи. Поранешниот обично се претставени од страна на броеви, стрингови, низи, и други предмети. Вториот често вклучуваат техники на снимање (стави), во согласност за обновување и од линија (се).

За разлика од низи, објектот не на работа со свои својства и се поврзува со други предмети. Објект "надлежните", во која нејзините својства се од вистинска вредност за алгоритам на програмата како целина.

Овој момент обезбедува основа и можност за снимање кога се снима серијата само потребните информации, како и за наплата на линија за да го направите сите работни својства во посакуваната состојба. Обично, во секој предмет има значителен информации и работат (време). Спроведувањето на оваа идеја ви овозможува да се спаси не само меморија, диск простор, евиденција база на податоци, но, исто така, го прави возможно да се споредат линии поедноставен и попрецизен начин.

Синтакса и семантика

PHP се развива динамично, а неговата функционалност, како во однос на споредување на жици и постојано да се подобрува во однос на нивниот третман. Сепак, ништо не го спречува инвеститорот да го поместите центарот на гравитација во областа на семантиката.

Несомнено, функционалноста е добро, но неговата употреба може да се пренесе во рамките на значењето на кодот во објекти. Кога алгоритам е претставен како систем на интеракција меѓу објектите, тоа изгледа многу подобро отколку споредби на низа и активности во директна секвенца, класичен стил.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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