Tengo problemas para entender exactamente lo que hacen array_splice y array_slice. Por lo que puedo decir array_splice debería devolver una matriz DESPUÉS de sacar ciertos elementos y array_slice debería recuperar una porción de la matriz.Array_splice actuando como array_slice?
El siguiente código del manual php.net/array_splice muestra que este código debería funcionar.
$input = array("red", "green", "blue", "yellow");
var_dump(array_splice($input, 2));
// $input is now array("red", "green")
$input = array("red", "green", "blue", "yellow");
var_dump(array_slice($input, 2));
// $input is now array("red", "green")
Sin embargo, cuando ejecuta este código en PHP 5.3.4 y 5.1.6 son los resultados
array
0 => string 'blue' (length=4)
1 => string 'yellow' (length=6)
array
0 => string 'blue' (length=4)
1 => string 'yellow' (length=6)
¿Estoy malentendido el manual o es esto un error? A mi me parece como array_splice está actuando como array_slice
Además, no parece hacer reemplazos
$input = array("red", "green", "blue", "yellow");
var_dump(array_splice($input, 2, 2, array('foo')));
salidas
array
0 => string 'blue' (length=4)
1 => string 'yellow' (length=6)
Puede alguien confirmar esto es un error y si no explica cómo ¿Esto debería funcionar?
EDIT:
Nvm lo he descubierto. En lugar de usar var_dump en array_splice, debería estar usando $ input, ya que array_splice cambia $ input en lugar de devolver los nuevos valores.
array_slice devuelve los valores, mientras que array_splice establece los valores en $ input.
MODs cerrar o eliminar esto.
Sí, me di cuenta de eso justo después de acceder a la publicación. Larga mañana sin café todavía. Como su publicación explica lo que se me ocurrió, marcaré como la respuesta. Tienes razón ... estábamos muy confundidos. – Bot