Menu
Coddy logo textTech

Extraer con 'array_slice'

Parte de la sección Lógica y Flujo del Journey de PHP de Coddy — lección 16 de 68.

La función array_slice() te permite extraer una porción de un array sin modificar el array original. A diferencia de funciones como array_pop() o array_shift() que cambian el array de origen, array_slice() crea un nuevo array que contiene solo los elementos que especifiques.

La función toma dos parámetros principales: el offset (posición inicial) y la length (cuántos elementos extraer):

<?php
$scores = [95, 87, 92, 78, 85, 90, 88];
$topThree = array_slice($scores, 0, 3);
print_r($topThree);  // Salida: Array ( [0] => 95 [1] => 87 [2] => 92 )
print_r($scores);    // El array original permanece sin cambios
?>

El parámetro offset le indica a PHP dónde comenzar la extracción (0 significa el primer elemento), mientras que el parámetro length especifica cuántos elementos tomar. También puedes usar valores negativos para el offset para comenzar a contar desde el final del array.

Esta función es particularmente útil cuando necesitas trabajar con un subconjunto de datos, como mostrar solo los primeros elementos de una lista grande o extraer un rango específico de elementos para su procesamiento, todo esto mientras mantienes tus datos originales intactos.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

challenge icon

Desafío

Fácil

Recibirás tres entradas: un array de precios de productos en formato JSON, una posición inicial (offset) y el número de elementos a extraer (length). Lee las tres entradas, convierte la cadena JSON en un array, utiliza array_slice() para extraer la porción especificada del array y muestra la porción extraída utilizando print_r().

Formato de entrada: Tres líneas: la primera línea contiene un array JSON de números (ejemplo: [29.99,15.50,42.00,8.75,33.25]), la segunda línea contiene el offset (posición inicial) y la tercera línea contiene la longitud (número de elementos a extraer).

Resultado esperado: La porción extraída del array, mostrada utilizando print_r()

Hoja de referencia

La función array_slice() extrae una porción de un array sin modificar el array original.

Sintaxis: array_slice($array, $offset, $length)

  • offset: Posición inicial (0 = primer elemento)
  • length: Número de elementos a extraer
  • Use un offset negativo para comenzar desde el final del array
<?php
$scores = [95, 87, 92, 78, 85, 90, 88];
$topThree = array_slice($scores, 0, 3);
print_r($topThree);  // Array ( [0] => 95 [1] => 87 [2] => 92 )
print_r($scores);    // El array original permanece sin cambios
?>

Pruébalo tú mismo

<?php
// Leer el array JSON de precios
$json_input = fgets(STDIN);
$prices = (array)json_decode($json_input, true);

// Leer el desplazamiento (posición inicial)
$offset = intval(fgets(STDIN));

// Leer la longitud (número de elementos a extraer)
$length = intval(fgets(STDIN));

// TODO: Escribe tu código a continuación para extraer la porción y mostrarla

?>
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo