No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso Práctico de PHP

Curso Práctico de PHP

Ana Belisa Martínez

Ana Belisa Martínez

¿Qué son las funciones?

7/17
Recursos

Aportes 19

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

7. Funciones en PHP

Comparto el código de la clase, con pequeños ajustes:

<?php

$name = 'Camila';
$lastName ='Rojas';

function concatenar($name, $lastName)
{
    $fullName = $name . ' ' . $lastName;
    return $fullName;
}

echo concatenar($name, $lastName) . "<br>";

function sumNumbers($numbersArray)
{
    $sum = 0;
    $arrayLength = count($numbersArray);
    for($i=0; $i<$arrayLength; $i++){
        $sum = $sum + $numbersArray[$i];
    }
    return $sum;
}

$numbersArray = [1,2,7,5,4];
echo "La suma de los valores del array es: "
. sumNumbers($numbersArray) . "<br>";

$names = ['Ana', 'Juan', 'Camila'];

//is_array($array); sirve para ver si es array
var_dump(is_array($names));

8:24
Variante de la función sumarNumeros() para evitar el número mágico 4 que hace referencia a la cantidad de elementos del arreglo.

<?php

function sumar ($numeros) {
    $suma = 0;
    foreach($numeros as $numero) {
        $suma += $numero;
    }
    return $suma;
}

$valores = [1,2,3,4,5,6,7];

echo sumar($valores);
function sumReducer($accum, $number)
{
  return $accum += $number;
}

function sumNumbers($numbers)
{
  return array_reduce($numbers, 'sumReducer', 0);
}

echo sumNumbers([1, 2, 3, 523, 423, 423, 4]);

Copia y pega este código para ver un arbol completo, con altura dinámica, y en colores 😉
Me da pereza subirles una foto, disculpen!

<?php
crearArbol(17);

function espacios($esp){
    for($i=1;$i<=$esp;$i++){
        echo '<span style="color:red">_<span/>';
    }
}

function asterisco($ast){
    for($i=1;$i<=$ast;$i++){
        echo '<span style="color:green">*<span/>';
    }
}

function salto(){
    echo '<br/>';
}

function crearArbol($dato){
    $altura = $dato;
    $incremento = 1;
    $vacio = $altura;
    
    $i = 0;

    while($i < $altura){
        espacios($vacio);
        asterisco($incremento);
        espacios($vacio);

        $incremento = $incremento + 2;
        $vacio = $vacio - 1;
        salto();
        
        $i++; 
    }
}

Algo que olvidó mencionar en la clase anterior y en esta es como usar length en un ciclo FOR:

<?php

$animals = array(“Bear”, “Leopard”, “Tiger”);

$arrLength = count($animals);

// loop through the array

for($i = 0; $i < $arrLength; $i++) {

    echo $animals[$i];

    echo “</ br>”;

}

?>

Aquí un ejemplo para invertir una cadena de texto :3

<?php
function reverse($string) {
    $result = "";
    foreach(str_split($string) as $char) {
        $result = $char.$result;
    }

    return $result;
}

echo reverse("Texto de prueba")."\n";
?>
<?php
function sumararreglo($numeros) {
    $suma = 0;
    for($x=0;$x<count($numeros);$x++) :
        $suma = $suma + $numeros[$x];
    endfor;
    return $suma;
}

$numeros = array(1,2,3,4);
var_dump(sumararreglo($numeros));
<?php

function concatenar($nombre,$apellido){
    echo $nombre.'  '.$apellido.'---';
}

concatenar('Mi nombre','Mi apellido');

function sumarNumeros($numeros){
    $suma = 0;
    for($i=0; $i < 4; $i++){
        $suma = $suma + $numeros[$i];
    }
    echo 'La suma de los valores de array es: '.$suma;
}

$numeros = array(1,2,3,4);

sumarNumeros($numeros);

?>

implode() separa los elementos de un array con una cadena especificada.
.

function concat(...$values){
    return implode(" ", $values);  
}

$nombre = "Camila"; $apellido = "Rojas"; function concatenar ($nombre, $apellido) { echo $nombre.' '.$apellido; } concatenar("Camila", "Rojas"); function sumarNumeros($numeros) { $suma = 0; for ($i = 0; $i < 4; $i++) { $suma = $suma + $numeros[$i]; } echo "La suma de los valores del array es: ". $suma; } $numeros = array(1,2,3,4); sumarNumeros($numeros);

$nombre = "Camila"; $apellido = "Rojas"; function concatenar ($nombre, $apellido) { echo $nombre.' '.$apellido; } concatenar("Camila", "Rojas"); function sumarNumeros($numeros) { $suma = 0; for ($i = 0; $i < 4; $i++) { $suma = $suma + $numeros[$i]; } echo "La suma de los valores del array es: ". $suma; } $numeros = array(1,2,3,4); sumarNumeros($numeros);

Pilas con la documentación, a ratos te puede abrumar.

Resultado de esta clase 💚


Funcion 1 - Creada

<?php 

// *Funcion (concatenar) la ignora hasta que sea llamada
function concatenar($nombre, $apellido){  
  echo $nombre . ' ' . $apellido . "\n";
}
// *Pregunta los datos al usuario
$nombre = readline("Dame tu nombre plis 💚:\n");
$apellido = readline("Dame tu apellido plis 💚:\n");
// *llama a la funcion 
concatenar($nombre, $apellido);

Funcion 2 - Creada

// *Funcion (sumarNumeros) la ignora hasta que sea llamado
function sumarNumeros($numeros){
  $suma =0;
  for ($i = 0; $i <4; $i++){;
    $suma = $suma + $numeros[$i];
  }
  // *Imprime los datos
  echo "La suma de los numeros del array es: " . $suma . "\n";
}
// *Llama a la funcion
$numeros = array(1,2,3,4);
sumarNumeros($numeros);

Funcion 3 - Establecida

// *Saber si es o no un array
$nombres = array ("Ana", "Juan", "Camila");

is_array($nombres);
var_dump(is_array($nombres));

if (is_array($nombres) == true){
  echo "esto es un array 👌\n";
}
else {
  echo "esto no es un array 😒\n";
}

Les comparto mi desarrollo del código de la clase aplicando una mejoras para sea el usuario quien ingrese su nombre.

<?php

$nombre = readline("Por favor, ingrese su Nombre: ");
$apellido = readline("Por favor, ingrese su Apellido: ");

echo "Bienvenid@ $nombre $apellido";

function nombreCompleto($nombre, $apellido)
{
    echo "Bienvenid@ a nuestro sistema $nombre $apellido \n";
}

nombreCompleto($nombre, $apellido);


function arrayNumeros($numeros)
{

    $suma = 0;
    for ($i = 0; $i < count($numeros); $i++) {
        $suma += $numeros[$i];
    }

    echo "La suma de los valores son: " . $suma;
}

$numeros = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
arrayNumeros($numeros);

//var_dump(is_array($numeros));

?>

El propósito fundamental de las funciones es reutilizar el código, de tal forma que no tengan que repetirse los mismos bloques de código en diferentes archivos a lo largo del proyecto.

<?php

$animals = array(“tigre”, “loro”, “fredy”);

$arrLength = count($animals);

// loop through the array

for($i = 0; $i < $arrLength; $i++) {

echo $animals[$i];

echo “</ br>”;

}

Me gusta interactuar con la terminal así que hice que mi function me pida cuantos numero quiero sumar, cuales números quiero sumar y me de un resultado.

$numeros = readline("cuanto numero quieres sumar: ");

function SumaValores($numeros) {
    $valor = array(0);
    $suma = 0;
    for($i=1; $i < $numeros+1; $i ++) {
        $valor = readline("valor $i : ");
         $suma = $valor + $suma;
    };
    echo "El resultado es: $suma";
    echo "\n";
};

SumaValores($numeros); 

Siempre es bueno colocar el tamaño del array con count($i) como condición al límite del for:

<?php

$firstName = 'Camila';
$lastName = 'Rojas';

// Concatenando directamente
echo $firstName . ' ' . $lastName . "\n";
// echo "{$firstName} {$lastName}";

// Función para concatenar
function concatenate($firsName, $lastName) {
    echo "{$firsName} {$lastName} \n";
}

// Llamando a la función
concatenate('Camila', 'Rojas');

function numbersSum($numbersArr) {
    $total = 0;
    for ($i = 0; $i < count($numbersArr); $i++) {
        $total += $numbersArr[$i];
    }
    echo $total;
}

$numbersArr = [1, 5, 7, 8, 9];
// $numbersArr = array(1, 5, 7, 8, 9);

numbersSum($numbersArr);

?>

A mi me salió de esta forma: ![](https://static.platzi.com/media/user_upload/image-293a266e-995b-4c7d-b8e8-835c0a0005e1.jpg)