- •2. Управляющие структуры языка php
- •3. Работа с массивами.
- •4. Ассоциативные массивы
- •5. Создание пользовательских функций, передача параметров функции и области видимости переменных
- •6. Функции для работы со строками
- •7. Функции даты/времени и работы с календарем
- •8. Работа с файлами
- •9. Операции с содержимым файлов
- •10. Работа с каталогами
- •11. Регулярные выражения, сопоставление и поиск с шаблоном.
- •Базовый синтаксис и создание регулярных выражений
- •12. Работа с динамическими изображениями
- •ImageGif (идентификатор, [имя файла])
- •14. Управление интерпретатором php
- •15. Отслеживание сеанса, управление сессиями и cookies.
- •16. Работа с бд mysql
- •17. Объектно-ориентированное программирование, создание классов и объектов, доступ к методам и свойствам объекта.
- •18. Сообщения об ошибках языка
- •18. Структура xml – документа. Правила создания. Конструкции языка. (Подробное описание) Структура документа
- •Определение типа документа (dtd).
- •Объявления
- •Объявление xml
- •Объявление типа документа
- •Где могут храниться dtd
- •Объявления элементов и атрибутов xml документа.
- •22. Свойства и методы элементов документа.
- •23. Типы атрибутов xml документа.
- •25. Обработка xml-документов php скриптами
- •26. Стилевые таблицы xsl. Структура xsl- таблиц. Что такое xsl?
- •Правила xsl
- •Корневое правило
- •Отношения между элементами
- •Приоритеты правил
- •27. Встроенные функции xsl.
- •28.Сценарии xsl.
- •29.Использование атрибутов элементов в xsl.
- •30. Фильтрация элементов в xsl. Фильтрация элементов
4. Ассоциативные массивы
РНР поддерживает также ассоциативные массивы. В ассоциативным массиве с каждым значением можно связать любой ключ, или индекс.
Инициализация ассоциативного массива
Следующий код создает ассоциативный массив, в котором названия товаров используются в качестве ключей, а их цены — в качестве значений.
$prices = array( "Tires"=>100, "Oil"=>10, "Spark Plugs"=>4 );
Доступ к элементам массива
Как и ранее, доступ к содержимому осуществляется через имя переменной и ключ, поэтому к информации, сохраненной в массиве prices можно обратиться как к
$prices[ "Tires" ], $prices[ "Oil"] и Spicesf "Spark Plugs" ].
Подобно численно индексированным массивам, ассоциативные массивы могут создаваться и инициализироваться по одному элементу.
Следующий код создает этот же массив Sprices. Вместо создания массива с тремя элементами эта версия создает массив только с одним элементом, а затем добавляет в него еще два элемента.
$prices = array( "Tires"=>100 );
$prices["Oil"] = 10;
$prices["Spark Plugs"] = 4;
Ниже приведен еще один, несколько отличающийся от предыдущего, однако эквивалентный ему фрагмент кода. В этой версии массив вообще не создается явно. Он создается при добавлении в него первого элемента.
$prices["Tires"] = 100;
$prices["0il"] = 10;
$prices["Spark Plugs"] =4;
Организация циклов с использованием each() и List()
Поскольку в ассоциативном массиве индексы не являются числами, для работы с массивом нельзя использовать простой счетчик в цикле for. Следующий код выводит содержимое нашего массива $prices:
while( $element = each( $prices ) )
echo $element[ "key" ];
echo " - ";
echo $element[ "value" ] ;
echo "<br>";
Функция each() возвращает текущий элемент массива и делает текущим следующий элемент.
Функция List()- для разделения массива на ряд значений. Два значения, передаваемые функцией each(), можно разделить следующим образом:
$list( $product, $price ) = each( $prices ) ;
Эта строка использует функцию each() для получения текущего элемента из массива Sprices, возвращает его в виде массива и делает следующий элемент текущим.
Array_count_values() –функция возвращает массив, в котором ключами являются элементы массива, а количество встреченмости – значениями.
$a=array (1, ”sed” 1, ”sed”, “word”)
$w=array_count_values($a) вернет массив (1=>2, “sed”=>2 “word”=>1)
5. Создание пользовательских функций, передача параметров функции и области видимости переменных
Функция array_walk()
Достаточно важная функция, позволяющая применять пользовательскую функцию к каждому элементу массива.
<?
$name = array ("m"=>"maks", "i"=>"igor", "s"=>"sergey");
function print_array ($item, $key)
{
echo "$key=>$item<br>\n";
}
array_walk ($name, 'print_array');
?>
Функция объявляется при помощи ключевого слова function, после которого в фигурных скобках записываются различные операторы, составляющие тело функции:
function MyFunction()
{
// операторы
}
Если функция принимает аргументы, то они записываются как переменные в объявлении функции. Аргумент функции представляет собой переменную, передаваемую в тело функции для дальнейшего использования в операциях.
function MyFunction($var, $var1, $var2)
Если функция возвращает какое-либо значение, в теле функции обязательно должен присутствовать оператор return:
<?
function get_sum()
{
$var = 5;
$var1 = 10;
$sum = $var + $var1;
return $sum;
}
echo(get_sum()); // выводит 15
?>
Переменные $var и $var1 мы можем объявить как аргументы и в этом случае в теле функции их определять не надо:
<?
function get_sum($var, $var1)
{
$sum = $var + $var1;
echo $sum;
}
get_sum(5,2); // выводит 7
?>