КампутарыПраграмаванне

PHP: праца са радкамі. Радковыя функцыі PHP

Сайты можна падзяліць на статычныя і дынамічныя. Пасля асваення HTML і CSS, якія дазваляюць зрабіць прыгожую візітоўку ў інтэрнэце, многія задумваюцца, як стварыць дынамічны сайт на PHP. Пры гэтым вярстальнік павінен улічваць, што цяпер ён пачынае вывучаць вэб-праграмаванне: прынцыпы працы з сайтам будуць адрознівацца. Адна з першых праблем, з якой сутыкаецца пачатковец у PHP - праца са радкамі, іх чытанне і апрацоўка.

Варта адзначыць, што ў PHP функцыі працы з радкамі маюць на ўвазе вялікая колькасць метадаў, таму пачынаць іх вывучэнне стаіць з самых простых маніпуляцый, такіх як выснова радкі, пошук, атрыманне або замена падрадка, змена рэгістра і вяртанне даўжыні радка. Многія функцыі дрэнна працуюць з кірылічнымі знакамі. Таму ўсе прыклады напісаны на англійскай для нагляднасці. Для кірылічных радкоў выкарыстоўваюцца тыя ж функцыі, але з прэфіксам mb_ (напрыклад, mb_strpos ()). Перш чым выкарыстоўваць аналагі, у php.ini неабходна раскаментаваць радок; extension = php_mbstring.dll, проста прыбраўшы кропку з коскай.

Стварэнне і вывад радкі

Мы разбяром выснову радкі на экран з дапамогай вядомай усім моўнай канструкцыі echo. Праграміст можа вывесці радок адразу:

echo "Гэта Новая Радок"

або спачатку стварыць зменную, а затым вывесці яе на экран:

$ Str = "Гэта Новая Радок";

echo $ str;

Калі трэба вывесці некалькі радкоў у адной, то звяртаюцца да іх канкатэнацыі:

echo "Гэта". "Новая". "Радок";

або

$ str1 = "Гэта";

$ str2 = "Новая";

$ str3 = "Радок";

echo $ str1. $ str2. $ str3;

У апошнім выпадку на экран будзе выведзена ЭтоНоваяСтрока. Прабел можна дадаць адразу пры выкліку echo:

echo $ str1. ''. $ str2. ''. $ str3;

У гэтым выпадку на экран вывядзецца: "Гэта Новая Радок". Канкатэнацыя магчымая не толькі пры вывадзе, але і пры стварэнні радкі:

$ str1 = "Гэта";

$ str2 = "Новая";

$ str3 = "Радок";

$ string = $ str1. ''. $ str2. ''. $ str3;

echo $ string;

Echo выводзіць як лацінскія літары, так і кірылічныя. Калі адна з зменных ўтрымоўвала лік, то пры канкатэнацыі гэты лік будзе пераўтворана ў адпаведны радок:

$ i = 2;

$ sum = $ i + $ i; // цяпер $ sum змяшчае лік 4

echo $ i. "+". $ i. "=". $ sum;

На экран будзе выведзена: «2 + 2 = 4".

службовыя сімвалы

Дапусцім, радок вызначана з дапамогай падвойных двукоссяў ($ string = "Вось так"). Тады можна цалкам спакойна выкарыстоўваць кіравальныя паслядоўнасці:

  • \ N здзяйсняе пераклад радка;
  • \ R вяртае карэтку;
  • \ "Экрануе падвойныя двукоссі:
    • echo "Радок з \" падвойнымі \ "двукоссямі"; // Радок з "падвойнымі" двукоссямі
  • \ $ Экрануе даляр;
  • \\ экрануе зваротны слэш.

Паслядоўнасцяў значна больш, усе іх знайсці можна ў афіцыйнай дакументацыі PHP.

Як знайсці пазіцыю першага ўваходжання падрадка

Дапусцім, у нас ёсць простая радок:

$ string = "My name is Yemelyan and I am 27 year old";

Таксама ў нас ёсць два радкі з імёнамі:

$ name = "Yemelyan";

$ anotherName = "Katherin";

Нам неабходна даведацца, ці ўтрымоўвае першы радок гэтыя два імя. Для гэтага выкарыстоўваецца функцыя strpos ($ str, $ search). Яна вяртае пазіцыю шуканай падрадка $ search, калі гэты радок змяшчаецца ў зыходнай, $ str. У адваротным выпадку функцыя вяртае булева значэнне false. Напрыклад, strpos ($ string, $ anotherName) верне false, а strpos ($ string, $ name) - цэлы лік. Код будзе такім (напішам варыянт, калі пазіцыя выводзіцца на экран):

$ string = "My name is Yemelyan and I am 27 year old";

$ name = "Yemelyan";

$ anotherName = "Katherin";

echo strpos ($ string, $ anotherName); // выведзе false

echo strpos ($ string, $ name); // выведзе пазіцыю першага ўваходжання падрадка

Улічыце, што нумарацыя радкі пачынаецца з нуля, гэта значыць у нашым выпадку апошняя радок выведзе лік 11 (прабелы таксама лічацца).

Пошук пазіцыі апошняга ўваходжання падрадка і падводныя камяні

Калі функцыя strpos () вяртае пазіцыю першага ўваходжання, то зваротная ёй функцыя strrpos () шукае апошняе ўваходжанне падрадка.

Тут ёсць некаторыя падводныя камяні, звязаныя з пачаткам нумарацыі. Гэта каштуе ўлічваць: у PHP праца са радкамі можа быць ўскладнена абмежаваннямі ў параўнаннях. Так, лепш не выкарыстоўваць аперацыю параўнання з адмаўленнем: strpos ($ str, $ search)! = False. У любой версіі PHP прыклады з падобнай эквиваленцией могуць працаваць няправільна, бо нумарацыя радкоў пачынаецца з нуля, а ў лагічнай інтэрпрэтацыі 0 і ёсць false. Гэта распаўсюджваецца і на функцыю strrpos ().

Як знайсці лік уваходжанняў падрадка

Часта трэба знайсці не пазіцыю першага або апошняга ўваходжання падрадка ў радок, а агульная іх колькасць. Для гэтага выкарыстоўваецца функцыя substr_count (), якая апрацоўвае па меншай меры дзве зменныя: substr_count ($ str, $ search). Вяртае цэлы лік. Калі неабходна паменшыць вобласць пошуку па радку, то ў функцыю перадаюцца яшчэ дзве зменныя: пачатак і канец радка адпаведна. Гэта значыць функцыя ў гэтым выпадку выклікаецца так: substr_count ($ str, $ search, $ start, $ end). Функцыя будзе шукаць падрадок $ search на прамежку ад $ start да $ end зыходнай радка $ str. Калі радок не будзе знойдзена, то функцыя верне нуль.

Як змяніць рэгістр радкі ў PHP: прыклады

Змена рэгістра часта выкарыстоўваецца для параўнання радкоў і умоўных аператараў. Дапусцім, карыстальнік павінен ўвесці імя вярхоўнага бога ў скандынаўскай міфалогіі. У праграме ёсць варыянт "Адзін", з якім і будзе параўноўвацца адказ карыстальніка. Калі ўведзены тэкст не будзе супадаць з наяўным (напрыклад, карыстальнік напіша "адзін" ці "АДЗІН"), то праграма верне значэнне false замест true. Каб гэтага пазбегнуць, прымяняецца функцыя змены рэгістра. Гэта часта выкарыстоўваецца, калі сайт на PHP мае тэгі: замест сотні варыянтаў словы "асабістае" ( "Асабістае", "асабістая", "АСАБІСТАЕ" і т. П.) Ёсць толькі адзін тэг у ніжнім рэгістры.

Функцыя strtolower () змяняе рэгістр на ніжні. Дапусцім, ёсць радок $ catName = "Fluffy". Функцыя strtolower ($ catName) верне радок "fluffy". Змяніць рэгістр на верхні можна з дапамогай функцыі strtoupper ().

Як знайсці даўжыню радка ў PHP: праца з функцыямі

Часта патрабуецца знайсці даўжыню радка. Напрыклад, у PHP праца са радкамі такога роду можа спатрэбіцца ў стварэнні цыклу. Для пошуку радка выкарыстоўваецца функцыя strlen (), якая вяртае лік - колькасць знакаў. Нельга забываць, што апошні сімвал будзе мець нумар strlen ($ str) -1, так як нумарацыя пачынаецца з нуля.

Атрыманне і замена падрадка ў PHP: праца са радкамі

Атрыманне падрадка ажыццяўляецца функцыяй substr (), якая можа прымаць два ці тры аргументу: substr ($ str, $ start, $ end). Дапусцім, у нас ёсць радок $ string = "Fluffy cat", і мы хочам атрымаць падрадок з другога па чацвёрты сімвал. Так як нумарацыя пачынаецца з нуля, то зменная з гэтай падрадкоў будзе выглядаць так: $ newString = substr ($ string, 1, 4). Калі ж мы ўвядзем $ newString = substr ($ string, 1), то атрымаем падрадок з другога сімвала па апошні (гэта значыць "luffy"). Гэты код ідэнтычны поўнага коду радкі з выкарыстаннем strlen (): substr ($ string, 1, strlen ($ string)).

Для замены падрадка выкарыстоўваецца функцыя str_replace (), якая прымае тры зменныя: str_replace ($ subStr, $ newSub, $ str). У адрозненне ад многіх функцый, str_replace () карэктна працуе з кірылічнымі сімваламі і не мае аналага з прэфіксам. прыклад:

$ str = "Сёння жудасная надвор'е!";

$ newStr = str_replace ( "жудаснае", "цудоўная", $ str); // Сёння цудоўнае надвор'е!

Пераклад радка ў лік

Кожнаму, хто вывучае вэб-праграмаванне, рана ці позна даводзіцца перакладаць радок у лік. Для гэтага выкарыстоўваюцца дзве падобныя функцыі: intval () і floatval (), кожная з якіх прымае адну зменную $ string. Адзін ад аднаго яны адрозніваюцца толькі тыпам якiя вяртаюцца дадзеных: intval () вяртае цэлы лік, а floatval () - лік з якая плавае кропкай.

Для выкарыстання як intval (), так і floatval () неабходна, каб радок пачыналася з лічбаў, яны і будуць ператвораныя ў лік. Калі пасля лічбаў будзе ісці любы набор літар, яны проста праігнаруюць. У тым выпадку, калі радок пачынаецца з літар, выкарыстанне функцыі верне нуль. У ідэале ж радок павінна ўтрымліваць у сабе выключна лічбы.

Пераклад колькасці ў радок

Часта патрабуецца перавесці колькасці ў радок. Скажам, калі неабходна ўзяць палоўку колькасці і пабудаваць яго ў квадрат (напрыклад, праверыць, ці выконваецца роўнасць: 88 х 88 + 33 х 33 = 8833). У гэтым выпадку выкарыстоўваецца функцыя strval (), якая вяртае радок з лікам. Пасля гэтага з новай радком можна здзяйсняць усе іншыя дзеянні: змяняць, шукаць ўваходжанне падрадка і іншыя функцыі. Пры неабходнасці радок можна зноў перавесці ў лік ужо апісаным вышэй спосабам.

У артыкуле была разгледжана толькі малая частка ўсіх функцый, звязаных з радкамі. Частка неапісаны функцый працуе з знакамі, але вялікая не была ўключана ў матэрыял з-за спецыфічнасці. Для азнаямлення з гэтымі функцыямі неабходна перайсці да чытання афіцыйнай дакументацыі па PHP, якая адлюстроўвае актуальную інфармацыю.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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