Язык программирования PHP | страница 70
>
>echo "Пришел ", "увидел ", "победил ";
>// выведет строку "Пришел увидел победил"
>// многие предпочитают передавать несколько
>// параметров в echo с помощью конкатенации
>echo "Пришел " . "увидел " . "победил ";
>// тоже выведет строку
>// "Пришел увидел победил"
>echo ("Пришел ", "увидел ", "победил ");
>// выдаст ошибку: unexpected ','
>?>
Существует сокращенный синтаксис для команды echo:
>=строка_для_вывода?>
Здесь параметр строка_для вывода содержит строку, заданную любым из известных способов, которая должна быть выведена на экран.
Например, такой скрипт выведет на экран красным цветом "Меня зовут Вася":
> $name="Вася" ?>
>Меня зовут =$name?>
Кроме языковой конструкции 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 ";