Язык программирования PHP - [35]

Шрифт
Интервал


В качестве примера использования этой функции приведем решение более сложной задачи, чем просто вычисление суммы элементов. Этот пример также иллюстрирует применение функции array_slice(), которую мы обсуждали чуть раньше.


Пример 7.16. Пусть дан массив натуральных чисел. Нужно найти в нем такое число, что сумма элементов справа от него равна сумме элементов слева от него.


>

>//массив задается функцией array

>$arr = array(2,1,3,4,5,6,4);

>// перебираем каждый элемент массива $arr.

>// Внутри цикла текущий ключ массива

>// содержится в переменной $k,

>// текущее значение – в переменной $val

>foreach ($arr as $k => $val){

> $p = $k + 1;

>// синтаксис array array_slice (

> array array,int offset [,int length])

>// array_slice выделяет подмассив

>// длины length в массиве array,

>// начиная с элемента offset.

> $out_next = array_slice($arr,$p);

> // получаем массив элементов,

> // идущих после текущего

> $out_prev = array_slice($arr,0,$k);

> // получаем массив элементов,

> // идущих перед текущим

>// функция mixed array_sum (array array)

>// подсчитывает сумму элементов массива array

> $next_sum = array_sum($out_next);

> $prev_sum = array_sum($out_prev);

>// если сумма элементов до текущего равна

>// сумме элементов после, то выводим

>// значение текущего элемента

> if ($next_sum==$prev_sum)

> echo "value:$val";

>// можно посмотреть, что представляют собой

>// рассмотренные массивы на каждом шаге

>// print_r($out_next); echo "
";

>// print_r($out_prev);

>// echo "$next_sum, $prev_sum
";

> echo "


";

>}

>?>



Заключение


Итак, подведем итоги. В этой лекции мы изучили ряд функций, упрощающих работу с массивами данных. Мы рассмотрели функции для поиска значения среди элементов массива; функции для сортировки элементов массива, как по их значениям, так и по ключам; функции, позволяющие применять ко всем элементам массива функцию, созданную пользователем. Кроме того, мы изучили функцию, выделяющую подмассивы из элементов массива, и функцию, вычисляющую сумму всех элементов массива. Использование всех этих функций было продемонстрировано на примерах. Все функции для работы с массивами доступны без каких-либо конфигурационных настроек PHP, и пользоваться ими можно абсолютно свободно. Так что, прежде чем изобретать велосипед, загляните в руководство по языку PHP: – вполне возможно, что кто-то сделал это до вас.

Работа со строками


Строки


Вероятно, читатели примерно представляют, что такое тип данных «строка» и как создать переменную такого типа. В одной из первых лекций мы приводили три способа задания строк: с помощью одинарных кавычек, двойных кавычек и с помощью heredoc–синтаксиса. Отмечали мы и основные различия между этими способами. В основном они касаются обработки переменных и управляющих последовательностей внутри строки.


>

>echo 'В такой строке НЕ обрабатываются

> переменные и большинство

> последовательностей';

>echo "Здесь переменные и последовательности

> обрабатываются";

>echo <<

>Здесь тоже обрабатываются как переменные,

>так и управляющие последовательности.

>И кроме того, можно вводить символы кавычек

>без их экранирования обратным слэшем.

>EOT;

>?>



Уже не раз, начиная с самой первой лекции, мы использовали функцию echo. На самом деле, echo – не функция, а языковая конструкция, поэтому использовать при ее вызове круглые скобки не обязательно. Echo позволяет выводить на экран строки, переданные ей в качестве параметров. Параметров у echo может быть сколько угодно. Их разделяют запятыми или объединяют с помощью оператора конкатенации и никогда не заключают в круглые скобки.


>

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

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

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

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

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

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

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

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

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

>?>



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


>


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


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


>

>Меня зовут



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


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


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


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


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


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


Рекомендуем почитать
Сочинения гр. А. К. Толстого как педагогический материал. Часть 2. Эпические мотивы

«Лирика обладает одним несомненным преимуществом перед другими родами поэзии: она лучше всего освещает нам личный мир поэта, ту сферу, которую выделяет для него в широком Божьем мире его темперамент, обстановка, симпатии, верования; она показывает степень отзывчивости поэта; т.е. его способности переживать разнородные душевные состояния: она часто открывает нам уголки поэтической деятельности, где живут не оформившиеся еще образы, задатки для определенных фигур эпоса и драмы. В эпосе и драме образы становятся разнообразнее и пестрее, но вместе с тем славятся объективнее, особенно в драме…».


Уголовное право. Особенная часть

В книге кратко изложены ответы на основные вопросы темы «Уголовное право. Особенная часть». Издание поможет систематизировать знания, полученные на лекциях и семинарах, подготовиться к сдаче экзамена или зачета.Пособие адресовано студентам высших и средних образовательных учреждений, а также всем интересующимся данной тематикой.


Самоучитель Adobe After Effects 6.0

Обучение созданию профессиональных видеофильмов и обработки их на компьютере представлено в виде 12 уроков. Рассматривается, как с помощью программы Adobe After Effects можно редактировать и рисовать последовательность кадров, добавлять титры и заголовки, применять различные видеоэффекты, редактировать звуковое сопровождение фильма. Описывается процесс настройки прозрачности и наложения слоев видео для последующего экспорта фильма в различных форматах. Показываются способы создания анимации при масштабировании, поворотах и в движении с наложением титров и спецэффектов.


Финансовое право

В учебном пособии в краткой и доступной форме рассмотрены все основные вопросы, предусмотренные государственным образовательным стандартом и учебной программой по дисциплине «Финансовое право».Книга позволит быстро получить основные знания по предмету, а также качественно подготовиться к зачету и экзамену.Рекомендуется студентам, аспирантам и преподавателям по юридическим, экономическим и управленческим специальностям, а также сотрудникам банков.Автор книги, Шевчук Денис Александрович, имеет опыт преподавания различных дисциплин в ведущих ВУЗах Москвы (экономические, юридические, технические, гуманитарные), два высших образования (экономическое и юридическое), более 30 публикаций (статьи и книги), Член Союза Юристов Москвы, Член Союза Журналистов России, Член Союза Журналистов Москвы, Стипендиат Правительства РФ, опыт работы в банках, коммерческих и государственных структурах (в т.ч.


Следственные действия: психология, тактика, технология

Книга посвящена правовым, психологическим и криминалистическим основам следственных действий как процессуальных способов доказывания по уголовным делам. Рассмотрены общая характеристика следственного действия, психологические условия и приёмы повышения их эффективности, даны рекомендации по подготовке и проведению отдельных видов основных следственных действий, регламентируемых ныне действующим УПК РФ.Для работников правоохранительных органов, студентов, аспирантов, докторантов, профессорско-преподавательского состава юридических учебных заведений.


фгос  ответы

Содержащиеся в пособии контрольно-измерительные материалы (КИМы) для 5 класса, аналогичные материалам ЕГЭ, составлены в соответствии с программой общеобразовательных учреждений по русскому языку и учитывают возрастные особенности учащихся. В конце пособия даны ответы на все варианты тестов, предложены диктанты различных типов.Пособие адресовано учителям, ученикам, их родителям и всем, кому необходимо закрепить и систематизировать знания перед ЕГЭ.