Язык программирования 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:
>=строка_для_вывода?>
Здесь параметр строка_для вывода содержит строку, заданную любым из известных способов, которая должна быть выведена на экран.
Например, такой скрипт выведет на экран красным цветом "Меня зовут Вася":
> $name="Вася" ?>
>Меня зовут =$name?>
Кроме языковой конструкции echo существует ряд функций для вывода строк. Это в первую очередь функция print и ее разновидности printf, sprintf и т.п.
Функция print позволяет выводить на экран только одну строку и, как и echo, не может быть вызвана с помощью переменных функций, поскольку является языковой конструкцией.
Функция print_r не относится к строковым функциям, как можно было бы подумать. Она отображает информацию о переменной в форме, понятной пользователю.
Функции sprintf и printf обрабатывают переданную им строку в соответствии с заданным форматом. Но о них мы говорить не будем. А поговорим о том, как можно осуществлять поиск в тексте, представленном в виде строки.
Поиск элемента в строке
Для того чтобы определить, входит ли данная подстрока в состав строки, используется функция strpos(). Синтаксис strpos() такой:

Здоровые семейные отношения – это залог успешной полоролевой идентификации ребёнка. Начинаясь с рождения, процесс идентификации протекает непрерывно, с заострениями и актуализациями переживаний на кризисных этапах психосексуального развития. Одним из таких этапов является возраст эдипова комплекса. Конфликты и искажения воспитательного процесса на этом этапе никогда не проходят бесследно и могут с новой силой реанимироваться уже в подростковом возрасте. В пособии представлены основные критерии анализа и подходы к пониманию проблем половой идентификации ребёнка с помощью популярной рисуночной методики.

Предлагаемое методическое пособие рассчитано на студентов 1 курса всех форм обучения: очной (дневной, вечерней), при которой студенты слушают полный курс лекций по всем заявленным в пособии темам, и заочной, при которой студенты слушают краткий курс лекций и занимаются самостоятельной подготовкой к экзаменам и зачетам. Пособие содержит изложенную в краткой форме программу занятий, подробный тематический план-конспект по тридцати двум темам изучаемым в течение семестра, список рекомендованной к курсу лекций литературы, вопросы к экзаменам, темы рефератов, семинарских занятий, а также приблизительные темы дипломных и курсовых работ.

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

Книга является пособием по истории русской литературы XX века (20-90-е годы). Она представляет собой первый том, за которым последует продолжение — «Литературный процесс» (в двух частях). Пособие призвано отразить современный научный взгляд на основные художественные ценности и тенденции развития русской литературы XX века.Издание предназначено для студентов филологических факультетов российских университетов, а также для аспирантов и преподавателей, — всех, кто занимается русской литературой.

Данный конспект лекций предназначен для студентов высших и средних специальных учебных заведений. В него входят сведения о древесине и древесных материалах, описываются их основные свойства. Дается характеристика металлов и сплавов, рассматриваются способы их применения. Приводятся основные сведения о лакокрасочных, смазочных, облицовочных материалах, а также классификация клеев и области их назначения.

В данном конспекте лекций в доступной форме изложены все основные вопросы по дисциплине «микроэкономика».Книга поможет получить основные знания и подготовиться к зачету или экзамену. Рекомендуется студентам экономических специальностей.