Привет всем! Продолжаем ускоренное изучение PHP 🙂 Сегодня — часть 4: массивы в PHP, и что-то еще… поехали!
- Итак — массив в PHP. Интересное описание термина «Массив» — это лист бумаги, на котором записан список планируемых покупок. Если бы мы записывали каждую планируемую покупку на отдельном листике — это было бы использование переменных. А если мы все пишем на один лист — это уже массив. Образно, упрощенно, но вроде как понятно. Сам массив создается следующим образом:
Как видите — мы создали переменную $massiv, а после указали, что эта переменная массив (array), состоящий из трех элементов: помидоры, сладкий перец, огурцы.
ВАЖНО: количество элементов в массиве считается с нуля!
Теперь разберемся с выводом определенного элемента массива. Для этого номер элемента указываем в квадратных скобках []. На практике это выглядит так:
Т.е. выводим первый элемент массива. Напоминаю — количество элементов в массиве считается с нуля, а значит: нулевой элемент — помидоры, первый элемент — сладкий перец. Запускаем код — и видим: сладкий перец. Все правильно.
Теперь попробуем вывести весь массив целиком. Для этого я возьму более наглядный массив в виде десяти цифр: $massiv = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Для начала — узнаем, как получить количество элементов в массиве. Для этого используется команда count:
Результат выполнения кода: 11 элементов.
А теперь — выведем массив целиком. Сразу скажу — вариантов решения этой задачи много 🙂
1 вариант: использовать функцию print_r(), которая выводит информацию о каждом элементе в очень наглядном виде. Что бы вывод был более наглядным — обернем функцию в тег pre.
';
print_r($massiv);
echo '</p r e>' #уберите пробелы ;) ;
?>
Результат выполнения кода:
Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
[4] => 4
[5] => 5
[6] => 6
[7] => 7
[8] => 8
[9] => 9
[10] => 10
)
- где очень наглядно виден порядковый номер элемента массива и его значение.
2 вариант: использовать функцию var_dump(), которая выведет не только полную информацию о каждом элементе массива, но и так же тип этого элемента. Запустим код:
';
var_dump($massiv);
echo '</p r e>' #уберите пробелы :) ;
?>
и получим:
array(11) {
[0]=>
int(0)
[1]=>
int(1)
[2]=>
int(2)
[3]=>
int(3)
[4]=>
int(4)
[5]=>
int(5)
[6]=>
int(6)
[7]=>
int(7)
[8]=>
int(8)
[9]=>
int(9)
[10]=>
int(10)
}
3 вариант: использование цикла foreach, который был создан специально для поэлементного перебора массивов. Выглядит это следующим образом:
';
};
?>
упрощенно код можно представить так: идем по массиву $massiv и получаем переменную $element, которую выводим на экран — причем, что бы элементы массива выводили построчно — добавляем (конкатенация команду перехода строки на новую). Получаем столбец элементов массива.
4 вариант: использование цикла while. Пример кода — ниже:
';
$minimum = $minimum + 1;
}
?>
На человеческом языке код можно описать так: вначале создаем переменную $minimum со значением нуль (эта переменная служит неким контролем, на который мы будем опираться в процессе работы над массивом). После этого — идем по массиву до тех пор, пока значение переменной $minimum не перестанет быть меньшим количеству элементов массива $massiv. Получаем элемент — выводим на экран, добавляя в конце символ перехода строки. Теперь — увеличиваем переменную $minimum на единицу (нам это нужно, что бы в итоге цикл перестал работать — иначе уйдем в бесконечность работы 🙂 ) — и берем следующий элемент массива.
5 вариант: использование функции implode(), которая выводит объединяет элементы массива с помощью указанного разделителя (в нашем случае разделителем служит символ переноса строки):
", $massiv);
?>
Так… создавать массивы научились, выводить определенные элементы массива — тоже научились, выводить массивы целиком — разобрались как, а вот как редактировать элементы массива в PHP? Давайте разберемся!
Для реактирования элементов массива в PHP нужно лишь указать номер элемента массива, и его новое значение. Например, код:
", $massiv);
echo("
");
$massiv[0] = "Cafe";
echo implode("
", $massiv);
?>
- изначально у нас имеется массив, содержащий три цвета: красный (нулевая позиция), желтый (первая позиция) и зеленый (вторая позиция). Теперь возьмем, и укажем новое значение нулевого элемента массива — это будет … КОФЕ! 🙂 Выводим на экран массив — и видим, на нулевой позиции у нас вместо красного цвета — кофе.
Теперь разберемся как удалить элемент массива в PHP. Для этого используется функция unset(). Покажу на практике:
", $massiv);
echo("
");
unset($massiv[0]);
echo implode("
", $massiv);
?>
Имеется массив из трех элементов (да-да, те самые цвета: красный, желтый, зеленый). Выводим массив на экран, а потом — удаляем нулевой элемент (красный цвет), после чего — снова выводим массив на экран. Как видите — красный цвет удален 😉
И да — если использовать unset() без указания номера элемента массива — мы удалим весь массив.
Добавление элементов в массив делается просто — вызываем массив, и показываем элемент, который нужно добавить. Если мы не указываем порядковый номер — то он добавляется в конец. Если указываем — то на указанную позицию:
", $massiv);
$massiv[] = "4";
echo("
");
echo implode("
", $massiv);
?>
Где — изначально имеется массив из трех цифр. Добавляем цифру 4, и выводим массив на экран.
И в самом конце сегодняшней записи, посвященной массивам в PHP — сортировка массивов по возрастанию и убыванию. Для более наглядного разбирательства — используем массив из десяти элементов, созданный с помощью генератора случайных чисел (о нем я рассказывал вчера), код генератора выглядит следующим образом:
";
echo implode("
", $massiv); #Выводим готовый массив из случайных чисел на экран
?>
Теперь отсортируем созданный массив по возрастанию. Для этого используем функцию sort():
";
echo implode("
", $massiv);
echo "
По возрастанию:
";
sort($massiv);
echo implode("
", $massiv);
?>
И — если нам нужно отсортировать массив по убыванию — используем rsort():
";
echo implode("
", $massiv);
echo "
По возрастанию:
";
sort($massiv);
echo implode("
", $massiv);
echo "
По убыванию:
";
rsort($massiv);
echo implode("
", $massiv);
?>
На сегодня по теме «Массивы в PHP» — все 🙂 Спасибо за внимание. В случае возникновения вопросов — пишите на почту, или в Телеграм 😉
Support the Blog!
Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️
Donate via PayPal
Donate via Revolut
Похожее