KNOW INTUIT, Лекция, Работа с низове

Читателите вероятно имат неясна представа какво представлява типът данни "низ" и как да се създаде променлива от този тип. В една от първите лекции дадохме три начина за определяне на низове: използване на единични кавички, двойни кавички и използване на синтаксиса на heredoc. Отбелязахме и основните разлики между тези методи. Те се занимават главно с обработката на променливи и екраниращи последователности в рамките на низ.

Неведнъж, още от първата лекция, сме използвали функцията ехо. Всъщност echo не е функция, а езикова конструкция, така че не е необходимо да използвате скоби, когато го извиквате. Echo ви позволява да показвате низове, предадени му като параметри. echo може да има произволен брой параметри. Те са разделени със запетаи или свързани с оператора за конкатенация и никога не са затворени в скоби.

Има съкратен синтаксис за командата echo:

Тук параметърът string_to_output съдържа низа, определен от някой от известните методи, който трябва да бъде показан.

Например, такъв скрипт ще покаже в червено „Казвам се Вася“:

В допълнение към езиковата конструкция за ехо, има редица функции за извеждане на низове. Това е предимно функцията за печат и нейните разновидности printf, sprintf и т.н.

Функцията за печат позволява само един ред да бъде отпечатан на екрана и, подобно на ехо, не може да бъде извикана с променливи функции, защото е езикова конструкция.

Функцията print_r не е функция за низ, както може да се мисли. Той показва информация за променливата по удобен за потребителя начин.

Функциите sprintf и printf обработват подадения към тях низ според зададения формат. Но няма да говорим за тях. Нека да говоримза това как можете да търсите в текст, представен като низ.

Намиране на елемент в низ

Функцията strpos() се използва за определяне дали даден подниз е част от низ. Синтаксисът за strpos() е:

Връща позицията на срещане на низа за търсене в низа източник или връща булево невярно, ако не е намерено срещане. Допълнителен аргумент ви позволява да посочите знака, от който ще се извършва търсенето. В допълнение към булевото значение false, тази функция може да върне други стойности, които се оценяват като false (например 0 или ""). Следователно, за да проверите дали желаният низ е намерен, се препоръчва да използвате оператора за еквивалентност " === ".

Ако стойността на параметъра search_string не е низ, тогава тя се преобразува в тип цяло число и се третира като ASCII символен код. За да получите ASCII кода на който и да е знак в PHP, можете да използвате функцията ord("character").

Например, ако напишем $pos = strpos ($str,228); тогава интерпретаторът ще приеме, че търсим знака "d". Ако добавим този ред към примера по-горе и покажем резултата, ще получим съобщение, че низът за търсене е намерен на позиция 1.

Обратното на ord е chr (код на символа). Той извежда символа, съответстващ на този ASCII код.

Функцията strpos може да намери само номера на първото появяване на низ в изходния низ. Естествено, има функции, които ви позволяват да изчислите броя на последното появяване на низ в изходен низ. Това е функцията strrpos(). Синтаксисът му е:

За разлика от strpos(), тази функция ви позволява да намерите позицията на последното срещане в низ от определен знак.

Има ситуации, когато за да знаете позицията, където е търсеният низ,по избор, но просто трябва да получите всички знаци, които се намират след появата на този низ. Можете, разбира се, да използвате горните функции strpos() и strrpos(), но можете да го направите по-лесно - изберете подниз, като използвате функции, предназначени специално за това.