PHP: массивы. Шпаргалка для пхпшников :)


Массив в PHP — одна большая переменная с множеством ячеек, в каждой из которых может храниться какое-то значение.

Зачем нужны массивы?
Пользователь прислал о себе данные через форму… Создаем массив, кладем туда данные, чтобы не создавать кучу переменных. В CMS почти все взаимодействие с БД реализуют с помощью массивов.

Массив задается с помощью функции array();

$arr = array(); // создаем пустой массив; false при приведении к булеву типу
$user = array («Kot», «admin», «12345», true); // в массиве могут лежать данные разных типов

echo $user[0]; // Kot

$user[] = ‘kot@mail.ru’; // когда пустые скобки, PHP дает индекс (ключ) следующий за наибольним; в нашем случае 4

Функции для работы с массивами
1) count — считает кол-во элементов массива
2) print_r — вывести содержимое массива // перед тег, чтобы вывод был не в строчку. Минус в том, что не пишется тип данных; для этого…
3) var_dump — более подробная информация о содержимом массива
4) unset ($arr[5]) — удалить элемент массива с ключом 5

Ассоциативные массивы — могут одновременно хранить как поименованные ключи, так и числовые.

Начиная с 5.4 — короткий синтаксис массивов, не вызывая функцию:
$arr = [«name», «Vasia»];

Функции перемещения по массиву:

current($array); // вернёт значение текущего элемента (по умолчанию внутренний указатель массива стоит вначале, в 0)
next($array); // передвигает указатель массива на одну позицию вперёд
end($array); // на последний элемент
prev($array); // на одну позицию назад
reset($array); // на первый элемент
key($array); // получить ключ текущего элемента

Подводные камни при работе с массивами:

1) при выводе массива:
а) не указывать кавычки echo «Hello, $user[login]»;
б) экранировать элемент echo «Hello, {$user[‘login’]}»;

2) при создания массива обязательно указывать кавычки, иначе PHP может принять элемент массива за константу

$user = array (
‘name’=>»Vasia» // !не писать! name без кавычек
);

Кстати, для работы с массивами особенно удобно использовать циклы. Цикл for можно использовать только если у нас:
а) массив с цифровыми индексами
б) индексы идут подряд

В остальных случаях используется foreach

3) Обращение к символу в строке работает и через круглые и через квадратные скобки:
$str = ‘Hello’;
echo $str{0};
echo $str[0];

Лучше всего _всегда_ использовать для обращения к символу круглые скобки; а квадратные для массива.

foreach (array as $value){} // цикл бегает по всему массиву array туда-сюда и закидывает значения в нашу новую переменную $value

Если нам нужны не только значения, но и ключи:
foreach (array as $key => $value) {} // в первую переменную цикл бросает ключи, а во вторую — значения

$nums = [1,2,3,4,5]; // начиная с 5.4 можно так создавать массив
print_r($nums);
foreach($nums as $v) // мы создаем копии значений массива в переменной $v, поэтому нижеуказанная операция выполняться не будет. Чтобы она выполнилась, нужно обратиться к значению, как к ссылке, поставив перед переменной амперсанд:
foreach($nums as &$v)
$v = $v *10;
print_r($nums);

Шпаргалка будет дополняться 🙂 Пишите свои дополнения в комментариях!


Запись опубликована в рубрике PHP. Добавьте в закладки постоянную ссылку.

3 комментария на «PHP: массивы. Шпаргалка для пхпшников :)»

  1. Похоже на копипасту видео курса от специалиста.

    • Компьютерщик говорит:

      это не копипаста, а мой собственноручно написанный подробный конспект с моими примечаниями и дополнениями

  2. А почему ты не установишь плагин для тега code ты же код пишешь не в ворде, так почему же мы пользователи должны страдать и читать ваш монохромный ужос?

Добавить комментарий

🇬🇧 Attention! Comments with URLs/email are not allowed.
🇷🇺 Комментарии со ссылками/email удаляются автоматически.