14.4 - Argumentos fijos y argumentos variables de una función PHP - Curso PHP 8 desde cero

Coders Free
1 Mar 202208:24

Summary

TLDREste capítulo explora cómo definir funciones en un lenguaje de programación para manejar diferentes tipos de parámetros, incluyendo aquellos que son opcionales. Se ilustra cómo establecer un valor predeterminado para un parámetro si no se proporciona ninguno. Además, se explica cómo crear funciones que aceptan un número indeterminado de argumentos, utilizando el concepto de 'spread' o tres puntos para capturar múltiples entradas. Se da un ejemplo práctico de cómo concatenar palabras utilizando un bucle 'for each' y se muestra cómo se pueden simplificar los procesos de concatenación utilizando operadores de asignación combinada. El capítulo termina con una demostración de cómo se visualizaría el resultado en un navegador.

Takeaways

  • 😀 Puedes definir una función en PHP que reciba parámetros y realizar acciones con ellos.
  • 💡 Si una función espera dos parámetros y solo le das uno, ocurrirá un error.
  • 👍 Es posible asignar valores por defecto a los parámetros de una función, lo que evita errores cuando no se pasan todos los parámetros.
  • 🧑‍💻 Al asignar un valor por defecto a un parámetro, si no se le pasa un valor, tomará el valor predeterminado.
  • ✨ Puedes definir funciones que acepten un número indefinido de parámetros utilizando los tres puntos (...) antes de una variable.
  • 🔄 Los parámetros recibidos de esta forma se agrupan en un array que puede ser recorrido con un bucle como `foreach`.
  • 🔗 El operador de concatenación (.) en PHP permite unir cadenas de texto.
  • 🔀 Usar operadores de asignación combinada, como .=, puede simplificar el código al concatenar strings.
  • 📜 La función `foreach` es útil para recorrer arrays y realizar acciones con sus elementos.
  • 🚀 PHP permite manejar funciones dinámicas con parámetros variables, facilitando la creación de scripts más flexibles y robustos.

Q & A

  • ¿Qué hace la función 'valoración' en el script?

    -La función 'valoración' recibe dos parámetros, el nombre del curso y su rating, y imprime una cadena que muestra el nombre del curso y su calificación.

  • ¿Qué ocurre si se ejecuta la función 'valoración' sin pasar el segundo parámetro?

    -Si se ejecuta la función 'valoración' sin pasar el segundo parámetro, se produce un error porque la función requiere dos parámetros.

  • ¿Cómo se establece un valor por defecto para el rating en la función 'valoración'?

    -Para establecer un valor por defecto para el rating, se asigna un valor predeterminado, como 5, a la variable que recibe el rating antes de que se ejecute la función.

  • ¿Qué significa utilizar tres puntos en la definición de una función?

    -Utilizar tres puntos en la definición de una función indica que la función puede recibir un número indefinido de parámetros, lo que se conoce como argumentos variadic.

  • ¿Para qué se usa la variable 'resultado' en la función 'concatenar'?

    -La variable 'resultado' en la función 'concatenar' se usa para almacenar temporalmente la concatenación de todas las palabras que se pasan a la función.

  • ¿Cómo se recorren los parámetros en la función 'concatenar'?

    -Los parámetros se recorrer con un bucle 'for each', donde se itera sobre el array 'palabras' y se concatenan las palabras en la variable 'resultado'.

  • ¿Qué se hace al final de la función 'concatenar'?

    -Al final de la función 'concatenar', se imprime la variable 'resultado' que contiene la concatenación de todas las palabras pasadas a la función.

  • ¿Qué es un operador de asignación combinada y cómo se usa en el script?

    -Un operador de asignación combinada es un operador que permite realizar una operación y asignar el resultado de vuelta a la variable en una sola línea. En el script, se usa para concatenar palabras directamente a la variable 'resultado'.

  • ¿Cómo se puede simplificar el código de concatenación en el script?

    -Se puede simplificar el código de concatenación utilizando el operador de asignación combinada, eliminando la necesidad de reasignar la variable 'resultado' en cada iteración.

  • ¿Qué ocurre si se pasa más de un parámetro a la función 'concatenar'?

    -Si se pasan más de un parámetro a la función 'concatenar', todos los parámetros se almacenarán en el array 'palabras' y se concatenarán en la variable 'resultado'.

Outlines

00:00

📚 Funciones con Parámetros y Valores por Defecto

En el primer párrafo se explica cómo definir una función en un lenguaje de programación que espera recibir un parámetro, en este caso, dos parámetros específicos: el nombre de un curso y su rating. Se muestra cómo la función imprime el nombre del curso y su rating. Además, se discute cómo manejar el caso en el que se ejecute la función sin proporcionar un segundo parámetro, asignando un valor por defecto al rating. Se ejemplifica con una función llamada 'valoración' que imprime el nombre del curso y su rating, y se muestra cómo se comporta cuando se proporciona o no el rating. Finalmente, se menciona la posibilidad de tener funciones que acepten un número indeterminado de parámetros, utilizando tres puntos para definir la función 'concatenar', la cual se usa para unir varias palabras en una sola cadena.

05:03

🔗 Concatenación de Parámetros en Funciones

El segundo párrafo profundiza en la creación de funciones que manejan una cantidad variable de parámetros, como la función 'concatenar'. Se describe el uso de un bucle 'for each' para recorrer un array de palabras y concatenarlas en una sola cadena. Se explica el proceso de inicializar una variable 'resultado' y cómo se actualiza en cada iteración del bucle con el contenido de la variable 'palabra', separadas por espacios. Se muestra cómo al final del bucle, la variable 'resultado' contiene la concatenación de todas las palabras pasadas a la función. Además, se menciona una forma simplificada de concatenar utilizando operadores de asignación combinada, y se ejemplifica con una llamada a la función 'concatenar' que une varias palabras en una sola oración. Se concluye con una mención a la visualización del resultado en el navegador y una breve recapitulación de los conceptos presentados en capítulos anteriores.

Mindmap

Keywords

💡función

Una 'función' es un bloque de código que se puede utilizar repetidamente en un programa. En el video, se define una función llamada 'valoración' que recibe dos parámetros: el nombre del curso y su rating. Esto muestra cómo las funciones pueden ser utilizadas para realizar tareas específicas, como imprimir el nombre de un curso junto con su calificación.

💡parámetro

Un 'parámetro' es un valor que se pasa a una función para que pueda realizar una tarea específica. En el guion, se menciona que la función 'valoración' espera recibir dos parámetros: el nombre del curso y su rating. Esto es crucial para la comprensión de cómo se estructuran y se utilizan las funciones en un lenguaje de programación.

💡valor por defecto

Un 'valor por defecto' es un valor que se asigna a un parámetro si no se proporciona ningún otro valor. En el script, se establece un valor por defecto de 5 para el rating si no se pasa ningún otro valor. Esto permite que la función sea más flexible y pueda manejar situaciones en las que no se proporciona un rating específico.

💡concatenar

Concatenar es el proceso de unir dos o más cadenas de texto en una sola cadena. En el video, se menciona la creación de una función 'concatenar' que puede unir varias palabras en una sola cadena. Esto es útil para crear mensajes o strings más largos a partir de múltiples partes.

💡array

Un 'array' es una estructura de datos que puede almacenar múltiples valores en una sola variable. En el script, se utiliza un array para almacenar las palabras que se pasan a la función 'concatenar'. Esto permite manipular y recorrer una colección de datos de manera eficiente.

💡for each

Un 'for each' es una estructura de control de循环语句 que se utiliza para recorrer los elementos de un array o una colección. En el video, se sugiere usar un 'for each' para recorrer el array de palabras y concatenarlas. Esto muestra cómo se pueden iterar sobre los elementos de un array para realizar operaciones en cada uno de ellos.

💡variable

Una 'variable' es un contenedor que almacena un valor que puede cambiar durante la ejecución de un programa. En el guion, se mencionan varias variables, como 'resultado' y 'palabra', que se utilizan para almacenar y manipular datos dentro de las funciones. Las variables son fundamentales para la programación, ya que permiten almacenar y modificar datos.

💡operador de asignación combinada

Un 'operador de asignación combinada' es un operador que permite realizar una operación y asignar el resultado de vuelta a la variable original en una sola línea de código. En el script, se menciona el uso del operador de concatenación y asignación combinada (.=) para simplificar el código de concatenación de cadenas. Esto muestra una técnica para escribir código más eficiente y legible.

💡imprimir

Imprimir es una acción que se realiza para mostrar los resultados en la pantalla o en la consola. En el video, se utiliza el comando 'imprimir' para mostrar el nombre del curso y su rating, así como para mostrar la salida de la función 'concatenar'. Esto es esencial para la visualización de los datos y la verificación de que el código está funcionando correctamente.

💡error

Un 'error' es una condición que impide que un programa se ejecute correctamente. En el guion, se menciona que se producirá un error si no se pasa el segundo parámetro a la función 'valoración'. Esto es importante para entender cómo se manejan y se evitan los errores en la programación, asegurando que las funciones se ejecutan con los datos correctos.

Highlights

Definición de una función que espera recibir un parámetro.

Ejemplo de función 'valoración' que recibe dos parámetros: nombre del curso y su rating.

Función que imprime el nombre del curso y su rating.

Ejecución de la función 'valoración' con un nombre de curso y rating específicos.

Resultado de la ejecución de la función 'valoración'.

Error al ejecutar la función sin pasar el segundo parámetro.

Manera de hacer que el segundo parámetro sea opcional con un valor por defecto.

Ejemplo de cómo asignar un valor por defecto a un parámetro en una función.

Función 'valoración' que toma un valor por defecto si no se proporciona el rating.

Ejecución de la función 'valoración' sin pasar el rating, mostrando el valor por defecto.

Cambio del rating en la función 'valoración' y su efecto en la salida.

Discusión sobre la incertidumbre de la cantidad de parámetros que se pueden pasar a una función.

Definición de una función 'concatenar' para un número indeterminado de palabras.

Uso de tres puntos para definir una función que acepta un número variable de parámetros.

Creación de un bucle 'for each' para recorrer los parámetros pasados a la función 'concatenar'.

Concatenación de palabras en una variable 'resultado' dentro del bucle.

Uso de operadores de asignación combinada para simplificar la concatenación de palabras.

Ejecución de la función 'concatenar' con varias palabras y su resultado.

Repaso de conceptos vistos en capítulos anteriores para simplificar código.

Transcripts

play00:00

como vimos en el capítulo pasado vimos

play00:02

que nosotros podríamos definir una

play00:05

función y especificar que esa función

play00:07

esperar recibir un parámetro por ejemplo

play00:10

nosotros podríamos venir por acá definir

play00:13

una función cuyo nombre sea por ejemplo

play00:17

valoración

play00:19

y especificar que esta función esperar

play00:23

recibir dos parámetros por ejemplo el

play00:26

nombre del curso que va a ser valorado y

play00:29

el rating es decir que qué calificación

play00:33

tiene este curso y una vez recibido

play00:37

estos dos parámetros yo podría hacer lo

play00:39

siguiente podría escribir por ejemplo

play00:41

hacer que esta función me imprima la

play00:44

siguiente cadena que imprima el nombre

play00:47

que le he pasado a la función tiene un

play00:49

rating de y imprimo el segundo parámetro

play00:53

que le pasado a la función

play00:57

ahora bien si ejecutará esta función lo

play01:01

que ocurriría sería que imprimiría lo

play01:04

siguiente vamos a ejecutar voy a

play01:06

ejecutar en la función valoración y

play01:09

vamos a colocar como primer parámetro

play01:11

curso

play01:13

php 8 desde cero y vamos a decir que su

play01:18

valoración es de 5

play01:20

acá vamos a ponerle adelante la palabra

play01:23

el el curso php 8 desde cero tiene un

play01:27

rating de sinti es algo que debería

play01:30

imprimir en pantalla si vengo para acá y

play01:33

actualizo vemos el curso php 8 desde

play01:36

cero tiene un rating 5

play01:39

ahora qué ocurre si es que yo trato de

play01:41

ejecutar esta función pero no le pasó el

play01:46

segundo parámetro

play01:47

simplemente le pasó en el nombre del

play01:50

curso lo que va a ocurrir es que me va a

play01:53

dar un error a dar un error porque esta

play01:56

función estoy especificando que necesitó

play01:58

que le pasemos un valor pero va a haber

play02:01

muchas veces en las cuales nosotros

play02:03

vamos a querer que ese segundo valor que

play02:06

tenemos acá sea un valor opcional no

play02:09

obstante en el caso de que no se lo

play02:11

pasemos este valor de rating tenga un

play02:14

valor por defecto como podría ser que

play02:17

este valor sea opcional pero si es que

play02:20

no se lo pasemos tenga un valor por

play02:22

defecto es muy sencillo me centro acá en

play02:26

la variable que es donde estoy indicando

play02:28

que quiero recibir esa información y

play02:30

luego de eso simplemente le asignó un

play02:33

valor por ejemplo le asignó el valor de

play02:36

5 y de esa manera que voy a lograr

play02:38

nuestro logro que en el caso de que

play02:40

ejecute la función valoración pero no le

play02:44

pase el valor

play02:45

lo que va a ser mi función es tomar como

play02:48

valor por defecto el valor de 5 y me

play02:51

saldría el mismo resultado que a su

play02:54

momento

play02:55

puedo dirigirme para acá puedo

play02:57

actualizar y me aparece el curso de php

play03:00

8 desde cero tiene un rating de 5 y solo

play03:05

cuando pasó como segundo valor de la

play03:08

función por ejemplo acá le pongo 4 lo

play03:10

que va a hacer la función es decir ok lo

play03:13

que tú quieres no es tomar el valor por

play03:15

defecto sino que quiere es que le

play03:17

asignemos el valor de 4 a esta variable

play03:20

y va a ser el valor de 4 el que voy a

play03:22

utilizar para trabajar con cualquiera de

play03:26

las órdenes que le hemos mandado dentro

play03:28

de la función por eso sí ahora colocó 4

play03:31

y vengo por aquí y actualizo me parece

play03:34

que el curso de php 8 desde cero tiene

play03:37

un rating de 4

play03:40

muy bien no vamos a tocar

play03:43

muchas veces también que nosotros nos

play03:46

vamos a saber con exactitud cuántas

play03:49

variables le queremos pasar o cuántos

play03:51

parámetros le queremos pasar a una

play03:53

función pueden ser uno puede ser dos

play03:56

puede ser tres puede ser cien pero no

play03:59

sabemos con exactitud cuántos son los

play04:01

parámetros que le vamos a pasar por

play04:03

ejemplo

play04:05

imaginemos que yo quiera generar una

play04:07

función que me sirva para concatenar

play04:10

para concatenar varias palabras entonces

play04:14

por acá la defino defino una función que

play04:17

se llama concatenar pero como mencionó

play04:20

yo no sé cuántas palabras o cuántos

play04:23

parámetros voy a pasar en este caso

play04:25

cuando no sabemos cuántos parámetros le

play04:27

vamos a pasar lo que tenemos que hacer

play04:29

en lo siguiente colocar tres puntitos

play04:33

y definir una variable acá que le

play04:36

podemos dar por ejemplo el valor de

play04:38

palabras lo que va a ser php

play04:41

cuando nosotros colocamos estos tres

play04:43

puntitos delante es juntar todas las

play04:46

variables que nosotros le pasamos a la

play04:48

función a la función concatenar y lo va

play04:51

a juntar todo dentro de una raíz y una

play04:54

vez que ya lo tenemos un array lo que

play04:57

tendríamos que hacer es recorrer ese

play04:59

array y luego ir concatenando cada una

play05:02

de las palabras que le hemos mandado y

play05:05

lo diríamos de la siguiente manera

play05:06

podría colocar acá un for each y dentro

play05:10

de ese for each especificar que lo que

play05:12

me interesa recorrer es el array

play05:15

palabras y conforme voy encontrando

play05:18

nuevos registros lo almacene en una

play05:20

variable llamada palabra

play05:23

muy bien ahora

play05:25

por acá voy a hacer lo siguiente voy a

play05:27

definir una variable que se llame

play05:30

resultado y lo vamos a inicializar con

play05:34

una cadena vacía la idea es que conforme

play05:38

vaya apareciendo las palabras lo que

play05:40

tengamos almacenado en la varia en esta

play05:42

variable que tengamos acá se concatena

play05:45

con mi variable resultado entonces lo

play05:48

que haría lo siguiente

play05:49

especificar

play05:51

que quiero modificar el valor de la

play05:54

variable resultado y lo quiero modificar

play05:57

por el antiguo valor del resultado

play06:00

concatenado con lo que tengamos

play06:02

actualmente en la variable palabra

play06:05

entonces vengo por acá

play06:07

y escribo palabra y finalmente al final

play06:11

voy a colocar que se concatenan con un

play06:13

espacio para que para que cada palabra

play06:15

no esté pegado uno del otro entonces

play06:18

cuando termine de salir de este bucle lo

play06:21

que va a ocurrir es que dentro de la

play06:23

variable resultado va a quedar con la

play06:26

concatenación de todas las palabras que

play06:28

hayamos pasado a la función con qatar y

play06:31

finalmente simplemente voy a poner un

play06:33

hecho y especificar que imprima lo que

play06:37

tengamos en la variable resultado y

play06:39

vamos a poner la prueba si por acá yo

play06:41

llamo

play06:43

a la función concatenar y le pasó varias

play06:46

palabras le pasó por ejemplo la palabra

play06:50

curso como segunda palabra le pasó el

play06:54

valor de php 8 y como último desde

play07:00

le estamos pasando bastante palabras son

play07:03

cinco palabras estas cinco palabras php

play07:06

lo va a convertir un rey lo vamos a

play07:09

recorrer y conforme vayan apareciendo

play07:11

las palabras va a ir modificando el

play07:13

valor de la variable resultado y

play07:16

finalmente se imprimen entonces si ahora

play07:19

vengo para acá y actualizó los

play07:21

comensales curso php ocho desde cero

play07:26

ahora para repasar algo que vimos en los

play07:29

capítulos pasados nosotros podríamos

play07:31

simplificar un poco este código que

play07:33

tenemos acá si en vez de pedir que se

play07:36

reemplace el resultado por el antiguo

play07:39

valor de resultados concatenado con lo

play07:41

que tengamos en la variable palabra es

play07:43

simplemente hacer uso de los operadores

play07:46

de asignación combinada en qué consiste

play07:49

eso es que eliminó

play07:52

esta primera palabra y acá simplemente

play07:55

colocó el punto punto de concatenación y

play08:00

el resultado sería exactamente lo mismo

play08:01

va a reemplazar esto el valor de la

play08:04

variedad el resultado por el antiguo

play08:06

valor de la variable resultado y

play08:08

concatenado con todo esto que tenemos

play08:10

acá si nos vamos a nuestro navegador

play08:14

y actualizamos vemos que el resultado

play08:17

sigue siendo el mismo y sin más eso

play08:20

sería todo por este capítulo

Rate This

5.0 / 5 (0 votes)

Étiquettes Connexes
ProgramaciónFuncionesParámetrosConcatenaciónValores por defectoEjemplos prácticosManejo de erroresBuclesVariablesOperadores
Besoin d'un résumé en anglais ?