Искать
Вы превысили запрос на
0 знаков

18. Функции массивов в PHP

Не пройден
6 заданий

Пришло время перейти от математических функций к немного более сложной теме — работе с массивами. В написании программ всегда возникает желание упростить работу с массивами, и мы можем написать свою обёртку для работы с ними (как это сделал фреймворк Laravel для PHP). Разработчики PHP постоянно усовершенствуют функции, чтобы упростить задачи рядовым разработчикам.

Функция in_array

Функция in_array ищет значение в массиве. Возвращает true если значение найдено, иначе false.

Синтаксис:

Пример (text)
in_array(что ищем, где ищем); 

Пример (php)
<?php
	$arr = [1, 2, 3, 4, 5, 6];

	var_dump(in_array(1, $arr)); // Распечатает true
?> 

Функция array_sum

Функция array_sum складывает все числа массива.

Синтаксис:

Пример (text)
array_sum(массив); 

Пример (php)
<?php
	$arr = [1, 2, 3, 4, 5, 6];

	var_dump(array_sum($arr)); // Распечатает 21
?> 

Функция array_product

Функция array_product вычисляет произведение элементов массива.

Синтаксис:

Пример (text)
array_product(массив); 

Пример (php)
<?php
	$arr = [1, 2, 3, 4, 5, 6];

	var_dump(array_product($arr)); // Распечатает 720
?> 

Функция range

Функция range создает массив с диапазонов элементов. Можно создать массив с диапазоном от 1 до 7 или от 'a' до 'e';

Синтаксис:

Пример (text)
range(откуда, куда, [шаг]); 

Пример (php)
<?php
	var_dump(range($arr)); /* =>
							  [0]=>
							  int(1)
							  [1]=>
							  int(2)
							  [2]=>
							  int(3)
							  [3]=>
							  int(4)
							  [4]=>
							  int(5)
							  [5]=>
							  int(6)
							  [6]=>
							  int(7)
							 */
?> 

Пример (php)
<?php
	var_dump(range($arr)); /* =>
								  [0]=>
								  string(1) "a"
								  [1]=>
								  string(1) "b"
								  [2]=>
								  string(1) "c"
								  [3]=>
								  string(1) "d"
								  [4]=>
								  string(1) "e"
							 */
?> 

Пример (php)
<?php
	var_dump(range(0, 10, 2)); /* =>
								  [0]=>
								  int(0)
								  [1]=>
								  int(2)
								  [2]=>
								  int(4)
								  [3]=>
								  int(6)
								  [4]=>
								  int(8)
								  [5]=>
								  int(10)
							 */
?> 

Функция array_merge

Функция array_merge склеивает два массива в один. Если в склеиваемых массивах будут одинаковые ключи, останется только одно значение.

Синтаксис:

Пример (text)
array_merge(мервый массив, второй массив); 

Пример (php)
<?php
	$arr1 = [1, 2, 3, 4, 5, 6];
	$arr2 = ['a', 'c', 'd']; 
	
	print_r(array_merge($arr)); /* =>
								    [0] => 1
								    [1] => 2
								    [2] => 3
								    [3] => 4
								    [4] => 5
								    [5] => 6
								    [6] => a
								    [7] => c
								    [8] => d
							 */
?> 

Функция array_slice

Функция array_slice делает срез массива, при этом исходный массив не меняется.

Синтаксис:

Пример (text)
array_slice(массив, откуда отрезать, сколько, cохранять ключи); 

Пример (php)
<?php
	$arr = ['a', 'c', 'd', 'e', 'f']; 
	
	print_r(array_slice($arr, 2, 3)); /* =>
								    [0] => d
								    [1] => e
								    [2] => f
							 */
?> 

Пример (php)
<?php
	$arr = ['a', 'c', 'd', 'e', 'f']; 
	
	print_r(array_slice($arr, 1)); /* =>
								    [0] => c
								    [1] => d
								    [2] => e
								    [3] => f
							 */
?> 

Пример (php)
<?php
	$arr = ['a', 'c', 'd', 'e', 'f']; 
	
	print_r(array_slice($arr, 1, 1, true)); /* =>
											[1] => c
									 */
?> 

Выше в коде мы сохранили ключи четвертым параметром, посмотрите что будет если передать false и поймёте разницу.

Функция array_splice

Функция array_splice вырезает и возвращает часть массива. При этом отрезанная часть исчезает из исходного массива. Вместо отрезанной части можно вставить другую.

Синтаксис:

Пример (text)
array_splice(массив, откуда отрезать, сколько, вставить в замен); 

Пример (php)
<?php
	$arr = ['a', 'c', 'd', 'e', 'f']; 
	
	print_r(array_splice($arr, 0, 3)); /* =>
										[0] => a
									    [1] => c
									    [2] => d
									 */
	print_r($arr); /* =>
									    [0] => e
									    [1] => f
								 */
						
?> 

Обратите внимание на изменение исходного массива.

Пример (php)
<?php
	$arr = ['a', 'c', 'd', 'e', 'f']; 
	
	print_r(array_splice($arr, 0, 3, [1, 2, 3])); /* =>
									    [0] => a
									    [1] => c
									    [2] => d
									 */
	print_r($arr); /* =>
				    [0] => 1
				    [1] => 2
				    [2] => 3
				    [3] => e
				    [4] => f
				 */
?> 

Функция array_keys

Функция array_keys возвращает массив ключей.

Синтаксис:

Пример (text)
array_keys(массив); 

Пример (php)
<?php
	$arr = ['a' => 1, 'c' => 2, 'd' => 3, 'e' => 4, 'f' => 5];
	
	print_r(array_keys($arr)); /* =>
									[0] => a
									[1] => c
									[2] => d
									[3] => e
									[4] => f
							 */ 

Функция array_values

Функция array_values возвращает массив значений.

Синтаксис:

Пример (text)
array_values(массив); 

Пример (php)
<?php
	$arr = ['a' => 1, 'c' => 2, 'd' => 3, 'e' => 4, 'f' => 5];
	
	print_r(array_values($arr)); /* =>
								    [0] => 1
								    [1] => 2
								    [2] => 3
								    [3] => 4
								    [4] => 5
							 */ 

Функция array_flip

Функция array_flip производит обмен местами ключей и значений

Синтаксис:

Пример (text)
array_flip(массив); 

Пример (php)
<?php
	$arr = ['a' => 1, 'c' => 2, 'd' => 3, 'e' => 4, 'f' => 5];
	
	print_r(array_flip($arr)); /* =>
							    [1] => a
							    [2] => c
							    [3] => d
							    [4] => e
							    [5] => f
							 */ 

Функция array_search

Функция array_search осуществляет поиск по массиву и возвращает ключ первого найденного элемента. Если элемент не найден, вернёт false. Третий параметр указывает строгое сравнение по типу: true или false.

Синтаксис:

Пример (text)
array_search(что ищем, где ищем, сравнивать по типу = false); 

Пример (php)
<?php
	$arr = ['a', 'b', 'c', 'd', 'e']; 

	print_r(array_search('d', $arr)); // Распечатает 3 

Функции сортировки массивов

В PHP существуют разные функции для сортировки:

  • sort - по возрастанию;
  • rsort - по убыванию;
  • asort - по возрастанию с сохранением ключей;
  • arsort - по убыванию с сохранением ключей;
  • ksort - по возрастанию ключей;
  • krsort - по убыванию ключей;
  • usort - по функции по элементам;
  • uasort - по функции по элементам с сохранением ключей;
  • uksort - по функции по ключам;
  • natsort - натуральная сортировка;

Все эти функции изменяют изначальный массив.

Синтаксис:

Пример (text)
sort(массив); 

Пример (php)
<?php
	$arr = [1, 3, 2, 5, 4];
	sort($arr);
	
	print_r($arr); /* => 
					[0] => 1
					[1] => 2
					[2] => 3
					[3] => 4
					[4] => 5
				*/ 

Функция array_rand

Функция array_rand возвращает случайный ключ из массива.

Синтаксис:

Пример (text)
array_rand(массив, сколько элементов выберит функция) 

Пример (php)
<?php
	$arr = [1, 3, 2, 5, 4, 2, 3, 4, 5, 6, 21, 321, 312];

	print_r(array_rand($arr)); // Распечатает рандомный элемент
?> 

Выберем два элемента:

Пример (php)
<?php
	$arr = [1, 3, 2, 5, 4, 2, 3, 4, 5, 6, 21, 321, 312];

	print_r(array_rand($arr, 2)); // Распечатает массив с двумя рандомных элемента
?> 

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

Задания

1. Создайте функцию, которая принимает массив чисел и возвращает массив чисел, отсортированных по их частоте появления. Если два числа имеют одинаковую частоту, они должны быть отсортированы по возрастанию.

Пример:

  • Вход: [4, 4, 2, 3, 3, 2, 1]
  • Выход: [1, 2, 2, 3, 3, 4, 4]

2. Создайте функцию, которая принимает массив строк и возвращает новый массив, содержащий только уникальные значения (без дубликатов).

Пример:

  • Вход: ["apple", "banana", "apple", "orange", "banana"]
  • Выход: ["apple", "banana", "orange"]

3. Создайте функцию, которая принимает два массива и объединяет их, оставляя только те элементы, которые встречаются в обоих массивах.

Пример:

  • Вход: [1, 2, 3, 4] и [3, 4, 5, 6]
  • Выход: [3, 4]

4. Создайте функцию, которая принимает массив чисел и возвращает сумму только четных чисел.

Пример:

  • Вход: [1, 2, 3, 4, 5, 6]
  • Выход: 12

5. На вход дан массив с числами, разверните его в обратном порядке.

Пример:

  • Вход: [1, 2, 3, 4, 5]
  • Выход: [5, 4, 3, 2, 1]

6. Дан массив строк, проверьте значение apple существует в массиве.

Пример:

  • Вход: ["apple", "banana", "apple", "orange", "banana"]
  • Выход: +++ или ---

Похожие уроки Codebra

@codebra_official
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
Пользовательские функции в PHPКурс по PHP
Генераторы и оператор yield в PythonЗнакомство с Python
Погружение в PythonЗнакомство с Python
Массивы в PHPКурс по PHP
Типы данных в PythonЗнакомство с Python
Итоги раздела «Самые основы Python»Знакомство с Python
Условная инструкция if-elif-else в PythonЗнакомство с Python
Работа с файлами в PythonЗнакомство с Python
Обработка исключений (try/except) в PythonЗнакомство с Python
Впервые на сайте Codebra?

Извините за это всплывающее окно, меня они тоже раздражают.

Образовательный ресурс codebra.ru полностью посвящен программированию и компьютерной безопасности. Все курсы и уроки находятся на главной странице. Ради интереса можете посмотреть на содержимое курсов по Пентесту Active Directory, Python, HTML и CSS, JavaScript, C++ и другие, размещенные на главной странице.

Если что-то не нашли, то воспользуйтесь поиском по сайту, который находится на главной странице в самом верху.

Удачи в обучении!

Закрыть окно