W3docs

Función shuffle() de PHP

Aprende cómo la función shuffle() de PHP reordena aleatoriamente los elementos de un array en su lugar, con sintaxis y ejemplos prácticos.

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 en PHP es una función integrada que baraja los elementos de un array de forma aleatoria. Modifica el array original en su lugar y devuelve un valor boolean (true en caso de éxito, false en caso de error).

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 tenga la misma probabilidad.

Esta es la sintaxis de la función shuffle:

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 error.

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

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

Ejemplo 1: Barajar un array de números

Ejemplo de cómo barajar un array de números en PHP

php— editable, runs on the server

Salida:

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

Ejemplo 2: Barajar un array de cadenas

Ejemplo de cómo barajar un array de cadenas en PHP

php— editable, runs on the server

Salida:

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

Ejemplo 3: Barajar un array asociativo

Ejemplo de cómo barajar un array asociativo en PHP

Ten en cuenta que shuffle() siempre reindexará los arrays con claves numéricas secuenciales, eliminando cualquier clave de string existente. Para conservar las claves asociativas, debes barajar las claves manualmente como se muestra a continuación.

<?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:

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 usar la función shuffle con confianza.

Diagrama:

graph TD
A((array)) --input--> B(shuffle)
B --output--> C((modified array))

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

Práctica
¿Cuál es el propósito de la función shuffle() en PHP?
¿Cuál es el propósito de la función shuffle() en PHP?
Was this page helpful?