WEB start

Компьютеры. Интернет. Профессиональное обучение. 055-966-10-17

hit 
counter

PHP программирование

Наши преимущества

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


Регистрация на сайте

PHP массивы

PHP - массивы

Инициализация массива

Массив может быть инициализирован до его использования в программе.

Например, используя ключевое слово - array

$myFirstArray = array (1,2,3,4,5);

Используя разделители - []

$ar2 = [1,"test",33];

Используя функцию list()

list($a, $b) = array('Alice', 'Bob');

Или динамически, во время выполнения программы. При этом назначение индексов элементов может производиться автоматически (в примере ниже индексы присвоятся от 0 до 3):

$paperType[] = "Copier"; $paperTyper[] = "Inkjet"; $paperType[] = "Laser"; $paperType[] = "Photo";

или - явно, вручную:

$paperType[1] = "Copier"; $paperTyper[2] = "Inkjet"; $paperType[3] = "Laser"; $paperType[4] = "Photo";

Для распечатки массива удобно использовать PHP - функции:

var_dump(); print_r()

Например:

var_dump($paperType);

Массивы с цифровыми индексами (Numerically Indexed Arrays)

В таком массиве индекс каждого элемента - цифровой. По-умолчанию PHP нумерует элементы массивов, начиная с 0. То есть: индексы масива, состоящего из элементов - 0,1,2 .

$year = ["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь",12];

Распечатать значение третьего элементв массива можно, например, используя синтаксис:

echo $year [2];

Результат - Март.

 

Ассоциативные массивы (Associative Arrays)

В ассоциативном массиве - индексами являются имена.

$students = [["Piter,22"],["Sandy",24]]; $ages = ["Peter"=>"35","Ben"=>"37","Joe"=>"43","Harry1"=>"50","Harry2"=>"50"];

Команда:

echo $ages ['Joe'];

выводит на печать - 43

Многомерные массивы (Multidimensional Arrays)

Это массив, каждый эдемент которого является также массивом.

Например - массив:

$students = array ( array ("Ivan",25, "Software development", 300), ["Steve",35, "WEB", 200], ["Nikolay",28, "PC Support", 150], ["Lisa",25, "Photoshop", 100] , ["Bobby",25, "Photoshop", 100] );

Команда:

echo $students[0][0];

выводит на печать - Ivan

 

Цикл foreach...as

Для обработки элементов массива часто используюися циклы (loops ).

Например:

<?php $paper = array("Copier", "Inkjet", "Laser", "Photo"); $j = 0; foreach ($paper as $item) { echo "$j: $item<br>"; ++$j; } ?>

 

<?php $cars = array("Volvo", "BMW", "Toyota"); $arrlength = count($cars); for($x = 0; $x < $arrlength;="" $x++)="" {="" echo="" $cars[$x];="" echo="">
"; } ?>

 

 

PHP функции для работы с массивами

Функция Описание
array() Создать массив$cars = array("Volvo", "BMW", "Toyota");
array_change_key_case() Изменить регистр ключей массива
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
print_r(array_change_key_case($age,CASE_UPPER));
array_chunk() Делит массив на куски
$cars=array("Volvo","BMW","Toyota","Honda","Mercedes","Opel");
print_r(array_chunk($cars,2));
array_column() Создаёт массив - колонку исходного массива
// An array that represents a possible record set returned from a database
$a = array(
array(
'id' => 5698,
'first_name' => 'Peter',
'last_name' => 'Griffin',
),
array(
'id' => 4767,
'first_name' => 'Ben',
'last_name' => 'Smith',
),
array(
'id' => 3809,
'first_name' => 'Joe',
'last_name' => 'Doe',
)
);

$last_names = array_column($a, 'last_name');
print_r($last_names);
?>
Результат:

Array
(
[0] => Griffin
[1] => Smith
[2] => Doe
)

array_combine() Создаёт новый массив, используя элементы первого массива в качестве индексов, второго - в качестве значений
$fname=array("Peter","Ben","Joe");
$age=array("35","37","43");

$c=array_combine($fname,$age);
print_r($c);
?>
Результат:
Array ( [Peter] => 35 [Ben] => 37 [Joe] => 43 )
array_count_values() Считает количество элементов массива
array_diff() Сравнивает значения элементов массивов, возвращает результат сравнения - разницу между ними
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");

$result=array_diff($a1,$a2);
print_r($result);
?>
Результат:
Array ( [d] => yellow )
array_diff_assoc() Сравнивает значения и элементов и индексов массивов, возвращает результат сравнения - разницу между ними
array_diff_key() Compare arrays, and returns the differences (compare keys only)
array_diff_uassoc() Compare arrays, and returns the differences (compare keys and values, using a user-defined key comparison function)
array_diff_ukey() Compare arrays, and returns the differences (compare keys only, using a user-defined key comparison function)
array_fill() В примере: создаёт массив (4 элемента, первый индекс - 3) и всем элементам присваивает значение blue
$a1=array_fill(3,4,"blue");
array_fill_keys() Fills an array with values, specifying keys
array_filter() Фильтр массива с использованием call_back функции. Перебираются все элементы массива, каждый последовательно передаётся в call_llback-функцию. Если функция возвращает true, то данное значение из array возвращается в результирующий массив. Ключи массива сохраняются.
function test_num($var)
{
return (gettype($var) == "integer");
}

$a1=array("a","b",2,3,4);
var_dump(array_filter($a1,"test_num"));
?>
Результат:
array (size=3)
2 => int 2
3 => int 3
4 => int 4
array_flip() Flips/Exchanges all keys with their associated values in an array
array_intersect() Сравнивает массивы, возвращает их пересечение (те элементы, значения которых одинаковы)
array_intersect_assoc() Сравнивает массивы, возвращает их пересечение (те элементы, значения и индексы которых одинаковы)
array_intersect_key() Сравнивает массивы, возвращает их пересечение (те элементы, индексы которых одинаковы)
array_intersect_uassoc() Сравнивает ключи и значения двух массивов и возвратите совпадения (для спавнения используется callback-функция)
function myfunction($a,$b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)?1:-1;
}

$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("d"=>"red","b"=>"green","e"=>"blue");

$result=array_intersect_uassoc($a1,$a2,"myfunction");
print_r($result);
?>
Результат:
Array ( [b] => green )
array_intersect_ukey() Compare arrays, and returns the matches (compare keys only, using a user-defined key comparison function)
array_key_exists() Проверяет, есть ли в массиве такой индекс
$a=array("Volvo"=>"XC90","BMW"=>"X5");
if (array_key_exists("Volvo",$a))
{
echo "Key exists!";
}
else
{
echo "Key does not exist!";
}
?>
array_keys() Возвращает массив, состоящий из индексов массива - аргумента функции
array_map() Посылает каждое значение массива в callback-функцию, которая возвращает новые значения
function func($num)
{
return("Элемент" . (string)$num);
}
$a=array(1,2,3,4,5);
print_r(array_map("func",$a));
?>

Результат:
Array
(
[0] => Элемент1
[1] => Элемент2
[2] => Элемент3
[3] => Элемент4
[4] => Элемент5
)

array_merge() Сливает несколько массивов в один
array_merge_recursive() Merges one or more arrays into one array recursively
array_multisort() Сортировка нескольких массивов мли многомерного массива

array_multisort(array1,sorting order,sorting type,array2,array3...)
Параметр Описание
array1 Обязательный параметр. Имя массива
направление сортировки Необязательный параметр. Возможные значения:
  • SORT_ASC - по умолчанию. По возрастанию (A-Z)
  • SORT_DESC - по убыванию (Z-A)
тип сортировки Необязательный параметр. Тип переменных, используемый при сортировке. Возможные значения:
  • SORT_REGULAR - по умолчанию. ( ASCII - коды)
  • SORT_NUMERIC - как цифры
  • SORT_STRING - как строки
  • SORT_LOCALE_STRING - как строки, с учётом локализации
  • SORT_NATURAL - как строки с использованием алгоритма "natural order"
  • SORT_FLAG_CASE - может быть объединен (бинарное OR) с SORT_STRING или SORT_NATURAL для сортировки без учета регистра
array2 Необязательный параметр. Второй массив.
array3 Необязательный параметр. Третий массив.
Пример:

<?php
$a1=array("Dog","Cat");
$a2=array("Fido","Missy");
array_multisort($a1,$a2);
print_r($a1);
print_r($a2);
?>

    Результат: 
Array ( [0] => Cat [1] => Dog ) Array ( [0] => Missy [1] => Fido )
array_pad() Вставляет указанное количество элементов с заданным значением в массив
$a=array("red","green");
print_r(array_pad($a,5,"blue"));
Возвращает массив из 5 элементов, значения новых -  "blue"
array_pop() Удаляет последний элемент массива
$a=array("red","green","blue");
array_pop($a);
print_r($a);
array_product() Вычисляет произведение значений в массиве
array_push() Вставляет один или несколько элементов в конец массива
array_rand() Возвращает один или несколько случайных ключей из массива
array_reduce() Возвращает массив как строку, используя пользовательскую функцию
array_replace() Заменяет значения первого массива значениями из следующих массивов
array_replace_recursive() Заменяет значения первого массива рекурсивными значениями из следующих массивов
array_reverse() Возвращает массив в обратном порядке
array_search() Ищет в массиве заданное значение и возвращает ключ
array_shift() Удаляет первый элемент из массива и возвращает значение удаляемого элемента
array_slice() Возвращает выбранные части массива
array_splice() Удаляет и заменяет указанные элементы массива
array_sum() Возвращает сумму значений в массиве
array_udiff() Сравните массивы и возвращает различия (сравнивает только  значения , с помощью пользовательской функции сравнения )
array_udiff_assoc() Сравнивает массивы и возвращает различия (сравнивает и  ключи и значения, используя встроенную функцию для сравнения ключей и пользовательскую функции для сравнения значений)
array_udiff_uassoc() Сравнивает массивы и возвращает различия ( ключи и значения, используя две пользовательские функции сравнения ключей)
array_uintersect() Сравнивает массивы и возвращает совпадения (сравнивает только значения, используя пользовательскую функцию сравнения ключей)
array_uintersect_assoc() Сравнивает массивы и возвращает совпадения ( ключи и значения, используя встроенную функцию для сравнения ключей и пользовательской функции для сравнения значений)
array_uintersect_uassoc() Сравнивает массивы и возвращает совпадения (ключи и значения, используя две пользовательские функции сравнения ключей)
array_unique() Удаляет повторяющиеся значения из массива
array_unshift() Добавляет один или несколько элементов в начало массива
array_values() Возвращает все значения массива
array_walk() Применяет пользовательскую функцию к каждому элементу массива
array_walk_recursive() Рекурсивно применяет функцию пользователя к каждому элементу массива
arsort() Сортирует ассоциативный массив в порядке убывания, согласно значению
asort() Сортирует ассоциативный массив в порядке возрастания, согласно значению
compact() Создать массив, содержащий переменные и их значения
count() Возвращает количество элементов в массиве
current() Возвращает текущий элемент в массиве
each() Возвращает текущую пару ключ-значение из массива
end() Устанавливает внутренний указатель массива на последний элемент
extract() Импортирует переменные в текущую таблицу символов из массива
in_array() Проверяет, существует ли указанное значение в массиве
key() Выбирает ключ из массива
krsort() Сортирует ассоциативный массив в порядке убывания, в соответствии с ключом
ksort() Сортирует ассоциативный массив в порядке возрастания, в соответствии с ключом
list() Присваивает переменные, как если бы они были массивом
natcasesort() Сортирует массив с использованием не зависящего от регистра алгоритма «естественного порядка»
natsort() Сортирует массив с использованием алгоритма «естественного порядка»
next() Увеличивает на единицу внутренний счётчик
pos() Аналог функции count() 
prev() Перемещает внутренний указатель массива  на предыдущий элемент  и возвращает предыдущий элемент 
range() Создает массив, содержащий ряд элементов
reset() Устанавливает внутренний указатель массива на его первый элемент
rsort() Сортирует индексированный массив в порядке убывания
shuffle() Перемешивает массив
sizeof() Алиас count ()
sort() Сортирует индексированный массив в порядке возрастания
uasort() Сортирует массив по значениям, используя пользовательскую функцию сравнения
uksort() Сортирует массив по ключам с помощью пользовательской функции сравнения
usort() Сортирует массив с использованием пользовательской функции сравнения