КомпьютерлерБағдарламалау

PHP Практика: String салыстыру

PHP жақсы ақпарат өңдеу бағытталған. тілі синтаксисі салыстыру функциялары, жол өңдеу, салыстыру операторларының толық функционалды жиынтығы ұсынылған.

Кез келген алгоритм - таңдау және іс-шаралар тізбегі. Сіз таңдау жасауға бұрын Бірақ, сіз бір нәрсе бар, оны салыстыруға бір нәрсе қажет. Line - ең, сыйымды тиімді және практикалық алгоритм бақылау механизмі. Line - деректерді ұсыну нұсқасы. Деректер - бұл кез-келген алгоритмі «қамқорлық» басты тақырыбы болып табылады.

Жай логика «салыстыру-іс-қимыл»

Жалпы, динамикалық теру тіл сияқты PHP салыстыру желісі ретінде деректерді ешқандай айырмашылықтар, жасайды және саны көп түрлі емес. Саны - бұл, ол тек сандарды қамтитын кезде, сондай-ақ жол нүктесі және кез келген нысанда (математикалық белгілерді) сандарды ұсыну үшін пайдаланылады емес, бір сипаты жоқ.

kontenkatsii саны автоматты түрде желісімен құйылады болса, ешқандай сұрақтар және ешқандай жасырын қателер, тіпті егер gettype () функциясы 'бүтін сан «немесе» қос «береді.

Алайда, is_int () және is_numeric () пайдалана отырып, арасында айырмашылық бар. Бірінші шындықты береді параметр бүтін сан болып табылады кезде, тек, екінші, қашан қандай да бір саны немесе сандық жол (айнымалы түрі «жол» болып табылады, бірақ барлық математикалық белгілерді көзделген қамтиды).

а PHP жолды салыстыру операторлары (! '==' '' === '...' = ') көптеген тосын ұсынады қалай жақсы үлгі - Бұл қарапайым мысал болып табылады. айнымалылар олардың түрін өзгерте аласыз, олар әрдайым нөмірлері емес, бірақ әрдайым дерлік олар жолда әкелуі мүмкін. төтенше жағдайда - бұл бос жол болады.

Жоғарыда айтылғандардың негізінде, бір PHP жолды салыстыру функциясы ең танымал болып табылады. дәл Developer шешу үшін, таңдау. тұрақты тіркестерін дейін қол жетімді опциялардың лоттар.

қолда бар функционалдық шекаралары

ең арзан, адал және практикалық опция - екі жолдар PHP-салыстыру жақсы «жасауға» функциясы strpos () болып табылады. Егер нәтижесінде функциясы саны, содан кейін анық бір жол басқа, басқа не бір бөлігінде тең.

Түбегейлі қарама-қарсы, сонымен қатар мүлдем оң көзқарас - тұрақты тіркестерін пайдалану.

функциясы $ cResult = scCheckFileName ($ cStr) «шынайы» берсе, онда желісі файл vordovsky атауы болып табылады. '-' тек әріптер, сандар және таңбалар '_',: Ол бір ғана кеңейту параметрді «.docx» және атауы жоқ таңбаларды болады.

функциясы оңай файлдардың басқа түрлерін ауыстырылды болады: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | DOCX | TXT) {1} $ / U «. Бұл нұсқа HTML, JS, CSS үшін ауқымы сканерлеу желісі көшіріп болады (мысалы, PHP жолды салыстыру «кіріс қате жоқ кездейсоқ отырып, серверге файлдарды жүктеу үшін» қолданылады), кеңейтеді ...

) (Strpos пайдалану () және preg_match функциясы - шектен. Олар салыстыру кезеңінің шығаруға тікелей байланысты емес. Бірақ алгоритм мәселе - сенімді және дұрыс нәтижеге қол жеткізу үшін, барлық мүмкіндіктерді пайдалану стилінде комбинациясын пайдалану мәселесі болып табылады.

Функционалдық PHP: String салыстыру

таза, салыстыру функциясы ғана емес, сонымен қатар тікелей іздеу немесе алмастырғыш комбинациясы - Арсенал тіл жолдары салыстырғанда. Соңғы міндетті кез келген қатарынан өзгеруіне әкеп соқпайтын, өйткені, салыстыру сәйкес келуі тиіс әрқашан әрекет емес. Жиі сіз бір немесе алгоритм басқа филиалы таңдау керек.

Қалыпты нұсқа PHP: String салыстыру функциясы INT STRCMP (s1, s2) орындайды.

функциясының нәтижесі:

  • 0 - желісі тең;
  • -1 - бірінші жол, екінші кем болып табылады;
  • 1 - екінші қатарда қарағанда бірінші көп.

Іс жүзінде, бұл екінші, бірінші жолдың бөлігі, бастап PHP функциясы (салыстыру жолдар) шешеді дегенді білдіреді. strpos астам шектеулі нұсқасы (), соңғы жағдайда ол жазба орнын білуге болады, өйткені.

STRCMP () функциясы - сезімтал. Егер сіз жолды-ескермейтін салыстыру қажет болса, PHP) (оның strcasecmp ұсынады. синтаксис ұқсас.

Тәжірибеде жиі бүкіл желісі, бірақ оның тек бір бөлігі емес, жұмыс істеу үшін қажетті. функциялары PHP (жолды салыстыру) осы жиынтығы үшін strncmp (s1, s2, N) енгізілген. Үшінші параметрі көрсетеді салыстыру тек N-байт орындауға. нәтиже) (ұқсас STRCMP болып табылады.

Массивтер, жолдар және салыстыру

Бұл әрдайым дерлік жолдар ұсынылған. біз массивтерін, нысандарды немесе деректерді құрылымдардың қарастыру болса, онда ол қарапайым жол құрылымдардың үйлесімділігіне ғана түрлі нұсқалары бар.

String массивтер және жолдар қосымша түрде берілуі мүмкін. жол функциясы implode (жиым, символы) ішіне алаптың Трансформация, мысалы: $ margins1 = implode ( ',', $ style-> getInnerMargin ()); ... алгоритмі / пайдаланушы ...; $ Margins2 = implode ( ',', $ style-> getInnerMargin ()) сіз жол орында нысан жағдайын барлық біріктіруге мүмкіндік береді.

Содан кейін Сіз PHP жол салыстыру жүргізу, және бір мезгілде болады: $ тексеру = STRCMP ($ margins1, $ margins2) және алгоритм немесе бір нәрсе өзгерді (немесе жоқ) болды пайдаланушы көз жеткізіңіз. Сіз кәдімгі жолмен салыстыру жүргізу, онда сіз алаптың элементтері сұрыптау керек. Ол көп уақыт алады және неғұрлым күрделі болып табылады.

Объектілері және желісі

Тіпті одан да көп әсерлі пайдалану PHP (жол салыстырулар) объектілі-бағдарланған идеялар арқылы жүзеге асырылуы мүмкін.

нысандардың қазіргі заманғы идея олар қасиеттері мен әдістері бар деп болжайды. бұрынғы әдетте сандар, қатарлар, массивтер, және басқа да нысандар болып табылады. Соңғы жиі қалпына келтіру жолында және сызықтан жазу әдістерін (салып) (алуға) жатады.

массивтерді айырмашылығы, нысан өз қасиеттері бар жұмыс істейді және басқа да заттармен өзара әрекеттеседі. оның қасиеттері тұтастай бағдарламаның алгоритмі нақты құны болып табылатын Нысан «құзыретті».

Бұл сәт жолды жазу кезінде ғана қажетті ақпарат негіз және жазу үшін мүмкіндік береді, және жолдың қалпына келтіру қажетті мемлекет барлық жұмыс қасиеттерін қалпына келтіру үшін. Әдетте, қандай да бір объектінің бар елеулі ақпарат болып табылады және (уақыты) жұмыс. осы идеяны іске асыру сіз ғана емес, жад, дискілік кеңістік, дерекқор рекорд, сонымен қатар сызықтар қарапайым және дәлірек құралдарын салыстыруға мүмкіндік береді үнемдеуге мүмкіндік береді.

Синтаксис және семантикасы

PHP қарқынды дамып келеді, және оның функционалдық салыстыру ішекті тұрғысынан және үнемі екі олардың емдеу тұрғысынан жақсарды. Алайда, ештеңе семантикасы саласындағы ауырлық орталығын жылжыту үшін әзірлеуші жол бермейді.

Әрине, функционалдық жақсы, бірақ оны пайдалану объектілерінде код мағынада берілуі мүмкін. алгоритм нысандар арасында өзара іс-қимыл жүйесі ретінде ұсынылған кезде, ол тікелей ретпен реттік салыстыру және іс-шаралар, классикалық стильде қарағанда әлдеқайда жақсы көрінеді.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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