Original article: The Best PHP Examples

PHP es un lenguaje de secuencias de comandos del lado del servidor creado en 1995 por Rasmus Lerdorf.

PHP es un lenguaje de secuencias de comandos de propósito general de código abierto ampliamente utilizado que es especialmente adecuado para el desarrollo web y se puede incrustar en HTML.

¿Para qué se usa PHP?

Desde octubre de 2018, PHP se usa en el 80 % de los sitios web cuyo lenguaje del lado del servidor es conocido . Por lo general, se usa en sitios web para generar contenido de página web de forma dinámica. Los casos de uso incluyen:

  • Sitios web y aplicaciones web (secuencias de comandos del lado del servidor)
  • Secuencias de comandos de línea de comandos
  • Aplicaciones de escritorio (GUI)

Generalmente, se usa en la primera forma para generar dinámicamente el contenido de la página web. Por ejemplo, si tienes un blog, puedes escribir algunos scripts PHP para recuperar las publicaciones de tu blog de una base de datos y mostrarlas. Otros usos de los scripts PHP incluyen:

  • Procesar y guardar la entrada del usuario de los datos de un formulario
  • Configurar y trabajar con las cookies del sitio web
  • Restringir el acceso a ciertas páginas de su sitio web

La plataforma de redes sociales más grande, Facebook, está escrita usando PHP

¿Cómo funciona PHP?

Todo el código PHP se ejecuta solo en un servidor web, no en tu ordenador local. Por ejemplo, si completas un formulario en un sitio web y lo envías, o haces clic en un enlace a una página web escrita en PHP, no se ejecuta ningún código PHP real en tu ordenador. En cambio, los datos del formulario o la solicitud de la página web se envían a un servidor web para que los scripts PHP los procesen. Luego, el servidor web le devuelve el HTML procesado (que es de donde proviene el nombre 'preprocesador de hipertexto') y tu navegador web muestra los resultados. Por esta razón, no puedes ver el código PHP de un sitio web, solo el HTML resultante que los scripts PHP han producido.

Esto se ilustra a continuación:

PHP-server-model
Fuente: https://github.com/xeroxism/

PHP es un lenguaje interpretado. Esto significa que cuando realizas cambios en tu código fuente, puedes probar estos cambios de inmediato, sin necesidad de compilar primero tu código fuente en forma binaria. Saltarse el paso de compilación hace que el proceso de desarrollo sea mucho más rápido.

El código PHP está encerrado entre las etiquetas <?php y ?>y luego se puede incrustar en HTML.

Instalación

PHP se puede instalar con o sin un servidor web.

GNU/Linux

En las distribuciones GNU/Linux basadas en Debian, puedes instalarlo mediante:

sudo apt install php

En Centos 6 o 7 puedes instalarlo con:

sudo yum install php

Después de la instalación, puedes ejecutar cualquier archivo PHP simplemente haciendo esto en la terminal:

php file.php

También puedes instalar un servidor localhost para ejecutar sitios web PHP. Para instalar el servidor web Apache:

sudo apt install apache2 libapache2-mod-php

O también puedes instalar PHP, MySQL y servidor web, todo instalando:

XAMPP (paquete de solución con pila de servidor web multiplataforma gratuito y de código abierto) o paquetes similares como WAMP

Frameworks PHP

Ya que escribir el código completo para un sitio web no es realmente práctico/viable para la mayoría de los proyectos, gran parte de los desarrolladores usan frameworks para el desarrollo web. La ventaja de usar un framework es que:

  • No tienes que reinventar la rueda cada vez que creas un proyecto, muchos de los matices ya están resueltos.
  • Por lo general, están bien estructurados para ayudar en la separación de preocupaciones.
  • La mayoría de los frameworks tienden a seguir las mejores prácticas del lenguaje.
  • Muchos de ellos siguen el patrón MVC (Model-View-Controller) para separar la capa de presentación de la de lógica.

Frameworks populares

Sintaxis básica

Los scripts PHP se pueden colocar en cualquier parte de un documento y siempre comienzan con <?php y terminan con ?>. Además, las declaraciones de PHP terminan con un punto y coma (;).

Aquí hay una secuencia de comandos simple que usa la función integrada echo para mostrar el texto "Los mejores ejemplos de PHP" en la página:

<!DOCTYPE html>
<html>
<body>

<h1>Noticias para desarrolladores</h1>

<?php echo "Los mejores ejemplos de PHP"; ?>

</body>
</html> 

La salida de esto sería:

Noticias para desarrolladores

Los mejores ejemplos de PHP

Comentarios

PHP admite varias formas para hacer comentarios:

  • Comentarios de una sola línea:
  • Comentarios de varias líneas:
<?php
  // Este es un comentario de una sola línea
  
  # También puedes hacer comentarios de una sola línea como este
?>
<?php
/*
Este bloque de comentarios 
abarca múltiples
líneas
*/
?>

Sensibilidad de mayúsculas y minúsculas

Todas las palabras clave, clases y funciones NO distinguen entre mayúsculas y minúsculas.

En el siguiente ejemplo, las tres declaraciones de echo son válidas:

<?php
ECHO "¡Hola!<br>";
echo "Bienvenido a Noticias para desarrolladores<br>";
EcHo "Disfruta de todos los artículos sin publicidad<br>";
?>

Sin embargo, todos los nombres de variables distinguen entre mayúsculas y minúsculas. En el ejemplo a continuación, solo la primera declaración es válida y mostrará el valor de la variable $name. $NAME y  $NaMe ambas son tratadas como variables diferentes:

<?php
$nombre = "Maria";
echo "¡Hola! Mi nombre es " . $nombre . "<br>";
echo "¡Hola! Mi nombre es " . $NOMBRE . "<br>";
echo "¡Hola! Mi nombre es " . $NomBre . "<br>";
?>

Variables

Las variables son la forma principal de almacenar información en un programa PHP.

Todas las variables en PHP comienzan con un signo de dólar inicial como $variable_nombre. Para asignar una variable se utiliza el =operador, con el nombre de la variable a la izquierda y la expresión a evaluar a la derecha.

Sintaxis:

<?php
// Asigna el valor "¡Hola!" a la variable "saludo"
$saludo = "¡Hola!";
// Asigna el valor 8 a la variable "mes"
$mes = 8;
// Asigna el valor 2019 a la variable "ano"
$ano = 2019;
?>

Reglas para variables de PHP

  • Las declaraciones de variables comienzan con $, seguido del nombre de la variable.
  • Los nombres de variables solo pueden comenzar con una letra mayúscula o minúscula o un guión bajo (_).
  • Los nombres de variables solo pueden contener letras, números o guiones bajos (Az, 0-9 y _). Otros caracteres especiales como + - % ( ) . & no son válidos.
  • Los nombres de las variables distinguen entre mayúsculas y minúsculas.

Algunos ejemplos de nombres de variables permitidos:

  • $mi_variable
  • $otraVariable
  • $laSegundaVariable

Variables predefinidas

PHP tiene varias palabras clave especiales que, si bien son nombres de variables "válidos", no se pueden usar para sus variables. La razón de esto es que el propio lenguaje ya ha definido esas variables y se utilizan para propósitos especiales. A continuación se enumeran varios ejemplos; para obtener una lista completa, consulte el sitio de documentación de PHP.

  • $this
  • $_GET
  • $_POST
  • $_SERVER
  • $_FILES

Tipos de datos PHP

Las variables pueden almacenar datos de diferentes tipos, tales como:

  • Cadena de caracteres ("Hola")
  • Entero (5)
  • Float (también llamado doble) (1.0)
  • Boolean ( 1 o 0 )
  • Arreglo (arreglo("Yo", "soy", "un", "arreglo") )
  • Objeto
  • NULO
  • Recurso

Cadena de caracteres (Strings)

Una cadena (string) es una secuencia de caracteres. Puede ser cualquier texto entre comillas (sencillas o dobles):

$x = "¡Hola!";
$y = '¡Hola!';

Enteros

Un tipo de datos entero es un número no decimal entre -2,147,483,648 y 2,147,483,647.

Reglas para números enteros:

  • Los números enteros deben tener al menos un dígito
  • Los números enteros no deben tener un punto decimal
  • Los enteros pueden ser positivos o negativos

$x = 5;

Floats

Un número flotante, o de punto flotante, es un número con un punto decimal.

$x = 5.01;

Booleans

Un booleano representa dos estados posibles: VERDADERO o FALSO. Los booleanos se utilizan a menudo en pruebas condicionales.

$x = true; //Verdadero
$y = false; //Falso

Arreglos

Un arreglo (array) almacena múltiples valores en una sola variable.

$colores = array("Magenta", "Amarillo", "Cian");

NULL (NULO)

Null es un tipo de datos especial que solo puede tener el valor null. Las variables pueden declararse sin valor o vaciarse estableciendo el valor en null. Además, si se crea una variable sin que se le asigne un valor, se asigna automáticamente null.

<?php
// Asigna el valor "¡Hola!" a saludo
$saludo = "¡Hola!";

// Vacía el valor de saludo configurándolo como nulo
$saludo = null;
?>

Clases y Objetos

Una clase es una estructura de datos útil para modelar cosas en el mundo real y puede contener propiedades y métodos. Los objetos son instancias de una clase y son una forma conveniente de empaquetar valores y funciones específicas de una clase.

<?php
class Coche {
    function Coche() {
        $this->modelo = "Tesla";
    }
}

// crea un objeto
$objeto_coche= new Coche();

// muestra las propiedades del objeto
echo $objeto_coche->modelo;
?>

Recurso PHP

Un recurso es una variable especial que contiene una referencia a un recurso externo. Los recursos son creados y utilizados por funciones especiales. Puedes usar la función getresourcetype() para ver el tipo de recurso.

<?php
// imprime: mysql link
$c = mysql_connect();
echo get_resource_type($c) . "\n";

// imprime: stream
$fp = fopen("foo", "w");
echo get_resource_type($fp) . "\n";

// imprime: domxml document
$doc = new_xmldoc("1.0");
echo get_resource_type($doc->doc) . "\n";
?>

Cadena de caracteres (Strings)

Una cadena es una serie de caracteres. Estos se pueden utilizar para almacenar cualquier información textual en tu aplicación.

Hay varias formas diferentes de crear cadenas en PHP.

Comillas simples

Las cadenas simples se pueden crear usando comillas simples.

$nombre = 'Maria';

Para incluir una comilla simple en la cadena, usa una barra invertida para escapar.

$apellido = 'O\'Brian';

Comillas dobles.

También puedes crear cadenas usando comillas dobles.

$nombre = "Maria";

Para incluir una comilla doble, usa una barra invertida para escapar.

$cita = "Maria dijo: \"Quiero unas tostadas\", y luego salió corriendo.";

Las cadenas entre comillas dobles también permiten secuencias de escape. Estos son códigos especiales que colocan caracteres en su cadena que representan caracteres típicamente invisibles. Los ejemplos incluyen saltos de línea \n, tabulaciones \t y barras invertidas reales \\.

También puedes incrustar variables de PHP en cadenas entre comillas dobles para agregar sus valores a la cadena.

$nombre = 'Maria';
$saludo = "Hola $nombre"; // Ahora continene la cadena "Hola Maria"

Funciones de cadenas

Encontrar la longitud de una cadena

La función strlen() devuelve la longitud de una cadena.

<?php
echo strlen("Noticias para desarrolladores"); // salidas 14
?>

Encuentra el número de palabras en una cadena

La función strwordcount() devuelve el número de palabras en una cadena:

<?php
echo str_word_count("Noticias para desarrolladores"); // salidas 2
?>

Invertir una cadena

La función strrev() invierte una cadena:

<?php
echo strrev("Noticias para desarrolladores"); // outputs sweN repoleveD
?>

Buscar texto dentro de una cadena

La función strpos() busca texto en una cadena:

<?php
echo strpos("Noticias para desarrolladores", "Noticias"); // salidas 10
?>


Reemplazar texto dentro de una cadena

La función str_replace() reemplaza el texto en una cadena:

<?php
echo str_replace("freeCodeCamp", "Desarrollador", "Noticias del freeCodeCamp "); // muestra Noticias del Desarrollador
?>

Constantes

Las constantes son un tipo de variable en PHP. La función define() para establecer una constante toma tres argumentos: el nombre de la clave, el valor de la clave y un valor booleano (verdadero o falso) que determina si el nombre de la clave no distingue entre mayúsculas y minúsculas (falso de forma predeterminada). El valor de una constante no se puede modificar una vez que se establece. Se utiliza para valores que rara vez cambian (por ejemplo, una contraseña de base de datos O una clave API).

Ámbito

Es importante saber que, a diferencia de las variables, las constantes SIEMPRE tienen un ámbito global y se puede acceder a ellas desde cualquier función del script.

<?php
define("freeCodeCamp", "Aprende a programar y ayuda a organizaciones sin ánimo de lucro", false);
echo freeCodeCamp;
>?

// Muestra: Aprende a programar y ayuda a organizaciones sin ánimo de lucro

Además, cuando creas clases, puedes declarar tus propias constantes.

class Humano {
  const TIPO_MASCULINO = 'm';
  const TIPO_HEMBRA = 'f';
  const TIPO_DESCONOCIDO = 'u'; // Cuando el usuario no sabe que género seleccionar
.............
}

Nota: si deseas usar esas constantes dentro de la clase Humano, puedes hacer referencia a ellas como self::CONSTANTE_NOMBRE. Si deseas usarlos fuera de la clase, debes referirte a ellos como Humano::CONSTANTE_NOMBRE.

Operadores

PHP contiene todos los operadores normales que uno esperaría encontrar en un lenguaje de programación.

Se usa un solo “=” como operador de asignación y un doble “==” o triple “===” se usa para la comparación.

Los habituales “<” y “>” también se pueden usar para comparar y “+=” se puede usar para agregar un valor y asignarlo al mismo tiempo.

Lo más notable es el uso de "." para concatenar cadenas y “.=” para agregar una cadena al final de otra.

El operador Spaceship (<=>) es nuevo en PHP 7.0.X . El operador  devuelve -1, 0 o 1 cuando $a es menor, igual o mayor que $b.

<?php

echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

Declaraciones If / Else / Elseif

If / Else (Si /si no) es una declaración condicional donde, dependiendo de la veracidad de una condición, se realizarán diferentes acciones.

Nota: Los{}corchetes solo son necesarios si la condición tiene más de una sentencia de acción; sin embargo, es una buena práctica incluirlos independientemente.

Declaración If

<?php

  if (condición) {
    sentencia1;
    sentencia2;

  }

Nota: Puedes anidar tantas declaraciones en un bloque "si" como desees; no estás limitado a la cantidad en los ejemplos.

Declaración If/Else

<?php

  if (condición) {
    sentencia1;
    sentencia2;
  } else {
    sentencia3;
    sentencia4;
    
  }

Nota: La declaraciónelse es opcional.

Declaración If/Elseif/Else

<?php
    
  if (condición) {
    sentencia1;
    sentencia2;
  } elseif {
    sentencia3;
    sentencia4;
  } else {
    sentencia5;
   
  }

Nota:elseif siempre debe escribirse como una sola palabra.

Declaración anidada If/Else

<?php

  if (condición1) {
      if (condición2) {
        sentencia1;
        sentencia2;
      } else {
        sentencia3;
        sentencia4;
      }
  } else {
      if (condición3) {
        sentencia5;
        sentencia6;
      } else {
        sentencia7;
        sentencia8;
      }
  }

Múltiples Condiciones

Se pueden usar varias condiciones a la vez con los operadores lógicos "o" (||), "xor" y "y" (&&).

Por ejemplo:

<?php

  if (condición1 && condición2) {
    echo 'Ambas condiciones son verdaderas!';
  } elseif (condición1 || condición2) {
    echo 'Una condición es verdadera!';
  } else (condición1 xor condición2) {
    echo 'Una condición es verdadera, y una condición es falsa!';

}

Nota: Es una buena práctica envolver las condiciones individuales entre paréntesis cuando tienes más de una (puede mejorar la legibilidad).

Sintaxis alternativa If/Else

También hay una sintaxis alternativa para las estructuras de control.

  if (condición1):
    sentencia1;
  else:
    sentencia5;
  endif;

Operadores Ternarios

Los operadores ternarios son básicamente sentencias if / else de una sola línea.

Imagina que necesitas mostrar "Hola (nombre de usuario)" si un usuario ha iniciado sesión y "Hola invitado" si no ha iniciado sesión.

Declaración If/Else:

if($usuario == !NULL {
  $mensaje = 'Hola '. $usuario; 
} else {
  $mensaje = 'Hola invitado';
}

Operador ternario :

$mensaje = 'Hola '.($usuario == !NULL ? $usuario : 'invitado');

Switch

En PHP, la declaración Switch  es muy similar a la declaración Switch  de JavaScript (consulte esta guía de declaración de switch de JavaScript para comparar y contrastar). Permite la prueba rápida de casos con muchas condiciones posibles diferentes. El código también es más legible.

<?php
            
// Ejemplo de declaración con switch
	switch ($i) {
    	case "libre":
    	    echo "i es free";
    	    break;
    	case "código":
    	    echo "i es code";
    	    break;
    	case "campamento":
    	    echo "i es camp";
    	    break;
    	default:
    	    echo "i es freecodecamp";
            break;            
	}

Break

La instrucción break; sale del conmutador y continúa ejecutando el resto del código de la aplicación. Si no usas la declaración break;, puedes terminar ejecutando múltiples casos y declaraciones, a veces esto puede ser deseable, en cuyo caso no debes incluir la declaración break;.

Un ejemplo de este comportamiento se puede ver a continuación:

<?php
    $j = 0;

    switch ($i) {
        case '2':
            $j++;
        case '1':
            $j++;
            break;
        default:
            break;
    }

Si $i = 1, el valor de $j sería:

1

Si $i = 2, el valor de $j sería:

2

Si bien la interrupción se puede omitir sin causar fallos en algunos casos (ver a continuación), generalmente es una buena práctica incluirla por legibilidad y seguridad (ver a continuación):

<?php
    switch ($i) {
        case '1':
            return 1;
        case '2':
            return 2;
        default:
            break;
     }
<?php
    switch ($i) {
        case '1':
            return 1;
            break;
        case '2':
            return 2;
            break;
        default:
            break;
     }

Ejemplo

<?php
//inicializa con un aleatorio entero dentro del rango 
$Numero_Dado = mt_rand(1, 6);

//inicializa
$numText = "";

// llamando a la declaración switch
  switch($Numero_Dado) 
  {
  case 1:
    $numText = "Uno";
    break;
  case 2:
    $numText = "Dos";
    break;
  case 3:
  case 4:
    // El caso 3 y 4 irán en esta linea
    $numText = "Tres o Cuatro";
    break;
  case 5:
    $numText = "Cinco";
    echo $numText;
    //Sin especificar el break o return continua ejecutando el siguiente caso.
  case 6:
    $numText = "Seis";
    echo $numText;
    break;
  default:
    $numText = "desconocido";
  }
  
  //Muestra el resultado
  echo 'El dado muestra el número '.$numText.'.';

?>

Salida

Si el caso es 1
> El dado muestra el número Uno.

Si el caso es 2
> El dado muestra el número Dos.

Si el caso es 3
> El dado muestra el número Tres o Cuatro.

Si el caso es 4
> El dado muestra el número Tres o Cuatro.

Si el caso es 5
> CincoSeisEl dado muestra el número Seis.

Si el caso es 6
> SeisEl dado muestra el número Seis.

if none of the above
> El dado muestra el número desconocido.

Bucles

Cuando necesites repetir una tarea varias veces, puedes usar un bucle en lugar de agregar el mismo código una y otra vez.

El uso de breakdentro del bucle puede detener la ejecución del bucle.

Bucle For

Recorre un bloque de código un número específico de veces.

<?php
for($indice = 0; $indice < 5; $indice ++)
{
    echo "Contador de bucle actual ".$indice.".\n";
}
?>

/*
Muestra:

Contador de bucle actual 0.
Contador de bucle actual 1.
Contador de bucle actual 2.
Contador de bucle actual 3.
Contador de bucle actual 4.
*/

Bucle While

Recorre un bloque de código si una condición es verdadera.

<?php
$index = 10;
while ($index >= 0)
{
    echo "El índice es ".$index.".\n";
    $index--;
}
?>

/*
Resultado:

El índice es 10.
El índice es 9.
El índice es 8.
El índice es 7.
El índice es 6.
El índice es 5.
El índice es 4.
El índice es 3.
El índice es 2.
El índice es 1.
El índice es 0.
*/


Bucle Do...While

Recorre un bloque de código una vez y continúa recorriendo si la condición es verdadera.

<?php
$indice = 3;
do
{
    // ejecuta esto al menos 1 vez
    echo "Indice: ".$indice.".\n"; 
    $indice --;
}
while ($indice > 0);
?>

/*
Muestra:

Indice: 3.
Indice: 2.
Indice: 1.
*/

Bucle Foreach

Recorre un bloque de código para cada valor dentro de un arreglo.

Funciones

Una función es un bloque de instrucciones que se pueden usar repetidamente en un programa.

Función simple + llamada

function di_hola() {
  return "¡Hola!";
}

echo di_hola();

Función simple + Parámetro + Llamada

function di_hola($amigo) {
  return "Hola " . $amigo . "!";
}

echo di_hola('Antonio');

strtoupper - ¡Hace que todos los caracteres sean MAYÚSCULAS!

function hazloMAYUSCULAS($muchos_nombres) {
  foreach($muchos_nombres as $los_simpsons) {
    $MAYUSCULAS[] = strtoupper($los_simpsons);
  }
  return $MAYUSCULAS;
}

$muchos_nombres = ['Homer', 'Marge', 'Bart', 'Maggy', 'Lisa'];
var_dump(hazloMAYUSCULAS($muchos_nombres));

Arreglos

Los arreglos son como variables regulares, pero contienen múltiples valores en una lista ordenada. Esto puede ser útil si tienes varios valores que están todos relacionados entre sí, como una lista de nombres de estudiantes o una lista de ciudades capitales.

Tipos de arreglos

En PHP, hay dos tipos de arreglos: arreglos indexados y arreglos asociativos. Cada uno tiene su propio uso y veremos cómo crear estos arreglos.

Arreglo indexado

Un arreglo indexado es una lista de valores ordenados. A cada uno de estos valores en el arreglo se le asigna un número de índice. Los índices de los arreglos siempre comienzan en 0 el primer valor y luego aumentan en uno a partir de ahí.

<?php
$lista_de_la_compra = array("huevos", "leche", "queso");
?>

$lista_de_la_compra[0] devolvería "huevos",

$lista_de_la_compra[1] devolvería "leche" y

$lista_de_la_compra[2] devolvería "queso".

Arreglo asociativo

Un arreglo asociativo es una lista de valores a los que se accede a través de una clave en lugar de números de índice. La clave puede ser cualquier valor, pero debe ser exclusiva del array.

<?php
$puntuacion_alumno = array("Antonio" => 83, "Jose" => "93", "Pedro" => "90");
?>

$puntuacion_alumnos['Antonio'] devolvería 83,

$puntuacion_alumnos['Jose'] devolvería 93 y

$puntuacion_alumnos['Pedro'] devolvería 90.

Arreglo multidimensional

Un arreglo multidimensional es un array que contiene otros arrays. Esto permite crear estructuras de datos complejas que pueden modelar un grupo de datos muy complejo.

<?php
  $alumnos = 
  array(
    array("nombre" => "Antonio", "puntuacion" => 83, "apellido" => "Garcia"),
    array("nombre" => "Jose", "puntuacion" => 92, "apellido" => "Sevilla"),
    array("nombre" => "Pedro", "puntuacion" => 90, "apellido" => "Alvarez")   
  );
?>

Ahora puedes conseguir el  nombre del primer alumno con:

$alumnos[0]['nombre']

Obtener la longitud de un arreglo: la función count ()

La función count() se usa para devolver la longitud (el número de elementos) de un arreglo:

<?php
$coches = array("Volvo", "BMW", "Toyota");
echo count($coches);
?>

Ordenación de arreglos

PHP ofrece varias funciones para ordenar arreglos. A continuación describiremos las diferentes funciones incluyendo ejemplos.

sort()

La función sort() ordena los valores de un arreglo en orden alfabético/numérico ascendente (por ejemplo, A, B, C, D, E... 1, 2, 3, 4, 5...)

<?php
$freecodecamp = array("free", "code", "camp");
sort($freecodecamp);
print_r($freecodecamp);
?>

Salida:

Arreglo
(
    [0] => camp
    [1] => code
    [2] => free
)

rsort()

La función rsort() clasifica los valores de un arreglo en orden alfabético/numérico descendente (por ejemplo, Z, Y, X, W, V... 5, 4, 3, 2, 1...)

<?php
$freecodecamp = array("free", "code", "camp");
rsort($freecodecamp);
print_r($freecodecamp);
?>

Salida:

Array
(
    [0] => free
    [1] => code
    [2] => camp
)

asort()

La función asort() ordena un arrelgo asociativo, por sus valores, en orden alfabético/numérico ascendente (Ej. A, B, C, D, E... 1, 2, 3, 4, 5...)

<?php
$freecodecamp = array("cero"=>"free", "uno"=>"code", "dos"=>"camp");
asort($freecodecamp);
print_r($freecodecamp);
?>

Salida:

Arreglo
(
    [dos] => camp
    [uno] => code
    [cero] => free
)

ksort()

La función ksort() ordena un arreglo asociativo, por sus claves, en orden alfabético/numérico ascendente (Ej. A, B, C, D, E... 1, 2, 3, 4, 5...)

<?php
$freecodecamp = array("cero"=>"free", "uno"=>"code", "dos"=>"camp");
ksort($freecodecamp);
print_r($freecodecamp);
?>

Salida:

Arreglo
(
    [cero] => free
    [dos] => camp
    [uno] => code
)

arsort()

La función arsort() clasifica un arreglo asociativo, por sus valores, en orden alfabético/numérico descendente (por ejemplo, Z, Y, X, W, V... 5, 4, 3, 2, 1...)

<?php
$freecodecamp = array("cero"=>"free", "uno"=>"code", "dos"=>"camp");
arsort($freecodecamp);
print_r($freecodecamp);
?>

Salida:

Arreglo
(
    [cero] => free
    [uno] => code
    [dos] => camp
)

krsort()

La función krsort() ordena un arreglo asociativo, por sus claves en orden alfabético/numérico descendente (Ej. Z, Y, X, W, V... 5, 4, 3, 2, 1...)

<?php
$freecodecamp = array("cero"=>"free", "uno"=>"code", "dos"=>"camp");
krsort($freecodecamp);
print_r($freecodecamp);
?>

Salida:

Arreglo
(
    [uno] => code
    [dos] => camp
    [cero] => free 
)

Formularios

Los formularios son una forma para que los usuarios ingresen datos o seleccionen datos de la página web. Los formularios pueden almacenar datos y permitir que la información se recupere para su uso posterior.

Para hacer que un formulario funcione en lenguajes como PHP, necesita algunos atributos básicos en html. En la mayoría de los casos, PHP usa las variables súper globales 'post' y 'get' para obtener los datos del formulario.

<html>
<body>
  <form method="get" action="procesar_datos.php">
      <input type="search" name="buscar" /><br />
      <input type="submit" name="enviar" value="buscar" /><br />
  </form>
<body>
</html>

El atributo 'method'  le dice al formulario la forma de enviar los datos del formulario. Luego, el atributo 'action' indica dónde enviar los datos del formulario para procesar. Ahora el atributo 'name' es muy importante y debe ser único porque en PHP el valor del nombre funciona como la identidad de ese campo de entrada.

Comprobación de las entradas requeridas

PHP tiene algunas funciones para verificar si se han cumplido las entradas requeridas. Esas funciones son isset, empty e is_numeric.

Comprobación del formulario para asegurarse de que esté configurado

Los isset controlan si el campo se ha establecido y no es nulo. Ejemplo:

 $Nombre = $_GET['Nombre']

if(isset($Nombre)){
  echo "Campo Nombre establecido". "<br>";
}
else{
  echo "Campo no establecido."."<br>";
}

Manejo de entrada de formulario

Se pueden obtener entradas de formulario con las variables globales $ POST y $ GET.

$_POST["Nombre"] or $_GET['Apellido']