В PHP (в том числе в WordPress) можно перемешать массив с сохранением ключей с использованием пользовательских функций. Для этого нужно избежать использования стандартной функции shuffle()
, так как она сбрасывает ключи массива.
Вот один из способов перемешивания массива с сохранением ключей:
function shuffle_assoc($array) {
if (!is_array($array)) {
return $array;
}
// Получаем ключи массива
$keys = array_keys($array);
// Перемешиваем ключи
shuffle($keys);
// Создаем новый массив с перемешанными ключами
$shuffled = [];
foreach ($keys as $key) {
$shuffled[$key] = $array[$key];
}
return $shuffled;
}
// Пример использования
$my_array = [
'one' => 1,
'two' => 2,
'three' => 3,
'four' => 4
];
$shuffled_array = shuffle_assoc($my_array);
print_r($shuffled_array);
Эта функция shuffle_assoc()
сначала извлекает ключи массива, перемешивает их с помощью shuffle()
, а затем собирает новый массив, сохраняя соответствие ключей и значений, но в случайном порядке.