Saltar al contenido

Función shuffle() de PHP

Bienvenido a nuestra guía completa sobre la función shuffle de PHP. En este artículo, explicaremos qué hace la función shuffle, cómo funciona y proporcionaremos ejemplos prácticos de cómo usarla en tus proyectos PHP.

La función shuffle de PHP es una función integrada que mezcla aleatoriamente los elementos de un array. Modifica el array original en su lugar y devuelve un valor booleano (true en caso de éxito, false en caso de fallo).

La función shuffle funciona reorganizando los elementos de un array en un orden aleatorio. Utiliza el generador de números aleatorios de PHP para garantizar que cada permutación sea igualmente probable.

A continuación se muestra la sintaxis de la función shuffle:

php
shuffle(array &$array): bool // Note: array type hint requires PHP 8.0+

El parámetro $array se pasa por referencia, lo que significa que el array original se modifica directamente. La función devuelve true en caso de éxito o false en caso de fallo.

Nota: En PHP 8.1+, pasar un valor que no sea un array a shuffle() genera una advertencia de depreciación.

Veamos algunos ejemplos prácticos del uso de la función shuffle en PHP.

Ejemplo 1: Mezclar un array de números

Ejemplo de mezcla de un array de números en PHP

php
<?php

$numbers = [1, 2, 3, 4, 5];
shuffle($numbers);
print_r($numbers);

Salida:

console
Array
(
    [0] => 5
    [1] => 1
    [2] => 4
    [3] => 3
    [4] => 2
)

Ejemplo 2: Mezclar un array de cadenas

Ejemplo de mezcla de un array de cadenas en PHP

php
<?php

$fruits = ["apple", "banana", "orange", "kiwi", "grape"];
shuffle($fruits);
print_r($fruits);

Salida:

console
Array
(
    [0] => kiwi
    [1] => banana
    [2] => grape
    [3] => apple
    [4] => orange
)

Ejemplo 3: Mezclar un array asociativo

Ejemplo de mezcla de un array asociativo en PHP

Ten en cuenta que shuffle() siempre vuelve a indexar los arrays con claves numéricas secuenciales, destruyendo cualquier clave de cadena existente. Para preservar las claves asociativas, debes mezclar las claves manualmente como se muestra a continuación.

php
<?php

$person = ["name" => "John", "age" => 30, "city" => "New York"];

// Shuffle the keys of the array
$keys = array_keys($person);
shuffle($keys);

// Create a new array with the shuffled keys
$shuffled_person = [];
foreach ($keys as $key) {
    $shuffled_person[$key] = $person[$key];
}

print_r($shuffled_person);

Salida:

console
Array
(
    [city] => New York
    [age] => 30
    [name] => John
)

En este artículo, hemos explicado qué es la función shuffle, cómo funciona y proporcionado ejemplos prácticos de cómo usarla en tus propios proyectos PHP. Esperamos que esta guía te haya sido útil y que ahora puedas utilizar la función shuffle con confianza.

Diagrama:

Gracias por leer nuestra guía sobre la función shuffle() en PHP. Si tienes alguna pregunta o comentario, no dudes en contactarnos.

Práctica

¿Cuál es el propósito de la función shuffle() en PHP?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.