Operador de propagación de PHP
- Operador de propagación de PHP
- Use el operador de propagación varias veces en PHP
- Use el operador de propagación con un valor de retorno de una función en PHP
- Use el operador de propagación con un objeto transitable en PHP
- Use el operador de propagación con un generador en PHP
Este tutorial demuestra el operador de propagación en PHP.
Operador de propagación de PHP
El operador de propagación se introdujo en PHP 7.4, que se usa para la expresión de matriz. El operador de propagación se denota con tres puntos ...
.
El operador de propagación distribuye los miembros de una matriz, lo que significa que si colocamos estos tres puntos en el prefijo de una matriz, distribuirá los valores en el lugar.
Por ejemplo:
<?php
$names = ["Jack", "John"];
$all_names = ["Mike", "Logan", "Shawn", ...$names]; // Use of the spread operator
print_r($all_names);
?>
El código anterior utilizará el operador de propagación para colocar los valores de la matriz $names
en la matriz $all_names
.
Ver salida:
Array (
[0] => Mike
[1] => Logan
[2] => Shawn
[3] => Jack
[4] => John )
El método array_merge()
también realiza la misma operación, pero el operador de propagación es mejor porque es una construcción de lenguaje que siempre es mejor que los métodos, y PHP también optimizará el rendimiento de las matrices en tiempo de compilación.
Podemos usar el operador de propagación en cualquier lugar de la matriz, por ejemplo, al principio, en el medio o al final.
Veamos un ejemplo.
<?php
$names = ["Jack", "John"];
$all_names = ["Mike", ...$names, "Logan", "Shawn" ]; // Use of the spread operator in between
print_r($all_names);
echo "<br>";
$all_names1 = [...$names, "Mike", "Logan", "Shawn" ]; // Use of the spread operator at the begining
print_r($all_names1);
?>
El código insertará la matriz $names
en las matrices $all_names
usando el operador de propagación en diferentes posiciones.
Ver salida:
Array (
[0] => Mike
[1] => Jack
[2] => John
[3] => Logan
[4] => Shawn )
Array (
[0] => Jack
[1] => John
[2] => Mike
[3] => Logan
[4] => Shawn )
El operador de propagación se puede utilizar de forma diferente, según la posición, los tiempos, las funciones o los generadores, etc. Probemos ejemplos para cada uso del operador de difusión de PHP.
Use el operador de propagación varias veces en PHP
El operador de propagación también se puede usar varias veces en una matriz. Probemos un ejemplo.
<?php
$names1 = ["Jack", "John"];
$names2 = ["Mike", ...$names1, "Logan", "Shawn" ]; // Use of the spread operator
$all_names = [...$names1, ...$names2 ]; // Use of the multiple spread operator
print_r($all_names);
?>
El código anterior demuestra los múltiples usos del operador de propagación. Ver salida:
Array (
[0] => Jack
[1] => John
[2] => Mike
[3] => Jack
[4] => John
[5] => Logan
[6] => Shawn )
Use el operador de propagación con un valor de retorno de una función en PHP
Por ejemplo, si las funciones devuelven una matriz, podemos usar el operador de propagación con esa llamada de función para colocar esos valores en la matriz. Vea el ejemplo.
<?php
function get_names()
{
$names = ["Jack", "John"];
return $names;
}
$names1 = ["Mike", "Logan", "Shawn" ];
$all_names = [...$names1, ...get_names() ]; // Use of the multiple spread operator with function call
print_r($all_names);
?>
El código anterior demuestra el uso del operador de extensión de PHP con el valor de retorno de la función.
Ver salida:
Array (
[0] => Mike
[1] => Logan
[2] => Shawn
[3] => Jack
[4] => John )
Use el operador de propagación con un objeto transitable en PHP
El operador de extensión de PHP también se puede usar con los objetos, no solo con las matrices. También se puede usar con objetos transitables, lo que significa el objeto que implementa la interfaz transitable.
Probemos un ejemplo.
<?php
class Names implements IteratorAggregate
{
private $names = ["Mike", "Logan", "Shawn" ];
public function getIterator()
{
return new ArrayIterator($this->names);
}
}
$names = new Names();
$all_names = [...$names];
print_r($all_names);
?>
El código anterior demuestra el uso del operador de propagación con el objeto transitable.
Ver salida:
Array (
[0] => Mike
[1] => Logan
[2] => Shawn )
Use el operador de propagación con un generador en PHP
El operador de propagación también se puede utilizar con funciones de generador.
Por ejemplo:
<?php
function odd_numbers()
{
for($x =1; $x < 20; $x+=2){
yield $x;
}
}
$odd = [...odd_numbers()];
print_r($odd);
?>
El código anterior crea una función generadora que genera el número impar entre 1 y 20 y luego usa el operador de propagación.
Ver salida:
Array (
[0] => 1
[1] => 3
[2] => 5
[3] => 7
[4] => 9
[5] => 11
[6] => 13
[7] => 15
[8] => 17
[9] => 19 )
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook