Язык программирования PHP | страница 70




>

>echo "Пришел ", "увидел ", "победил ";

>// выведет строку "Пришел увидел победил"

>// многие предпочитают передавать несколько

>// параметров в echo с помощью конкатенации

>echo "Пришел " . "увидел " . "победил ";

>// тоже выведет строку

>// "Пришел увидел победил"

>echo ("Пришел ", "увидел ", "победил ");

>// выдаст ошибку: unexpected ','

>?>



Существует сокращенный синтаксис для команды echo:


>


Здесь параметр строка_для вывода содержит строку, заданную любым из известных способов, которая должна быть выведена на экран.


Например, такой скрипт выведет на экран красным цветом "Меня зовут Вася":


>

>Меня зовут



Кроме языковой конструкции echo существует ряд функций для вывода строк. Это в первую очередь функция print и ее разновидности printf, sprintf и т.п.


Функция print позволяет выводить на экран только одну строку и, как и echo, не может быть вызвана с помощью переменных функций, поскольку является языковой конструкцией.


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


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


Поиск элемента в строке


Для того чтобы определить, входит ли данная подстрока в состав строки, используется функция strpos(). Синтаксис strpos() такой:


>strpos (исходная строка,строка для поиска

> [,с какого символа искать])


Она возвращает позицию появления искомой строки в исходной строке или возвращает логическое false, если вхождение не найдено. Дополнительный аргумент позволяет задавать символ, начиная с которого будет производиться поиск. Кроме логического false эта функция может возвращать и другие значения, которые приводятся к false (например, 0 или ""). Поэтому для того, чтобы проверить, найдена ли искомая строка, рекомендуют использовать оператор эквивалентности «===».


>

>$str = "Идея наносить данные на перфокарты

>и затем считывать и обрабатывать их

>автоматически принадлежала Джону Биллингсу,

>а ее техническое решение осуществил Герман

>Холлерит. Перфокарта Холлерита оказалась

>настолько удачной, что без малейших изменений

>просуществовала до наших дней.";

>$pos = strpos($str,"Холлерит");

>if ($pos !== false) echo "Искомая строка

> встречена в позиции номер $pos ";