Как поменять местами элементы массива php. Выборка случайных элементов из массива в одну строку.

Пару полезных приёмов работы с массивами PHP, без излишних велосипедов.

Поменять местами элементы в массиве

Чтобы поменять местами элементы в массиве можно воспользоваться функцией list так:

list($arr[2], $arr[7]) = [$arr[7], $arr[2]];

Тут мы поменяли местами элементы с 2 и 7 ключами, но можно и заменить и больше.

Выборка случайных элементов из массива PHP

Выбрать 1 или множество случайных элементов можно обернув

// получаем 1 случайный элемент в виде строки
var_dump(array_rand(array_flip(['str_1', 'str_2', 'str_3'])));
// получаем несколько случайных элементов в виде массива
var_dump(array_rand(array_flip(['str_1', 'str_2', 'str_3']), 2));

Элегантно и без всяких дополнительных конструкций. Один минус — строки в массиве должны быть уникальными, иначе при замене их на ключи array_flip вызовет ошибку уровня Warning вернув Null

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *