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);

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

This entry was posted in PHP. Bookmark the permalink.

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

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *