<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ php - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Descubre miles de cursos de programación escritos por expertos. Aprende Desarrollo Web, Ciencia de Datos, DevOps, Seguridad y obtén asesoramiento profesional para desarrolladores. ]]>
        </description>
        <link>https://www.freecodecamp.org/espanol/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ php - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/espanol/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Tue, 16 Jun 2026 21:15:52 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/espanol/news/tag/php/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Los mejores ejemplos de PHP ]]>
                </title>
                <description>
                    <![CDATA[ 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é ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/los-mejores-ejemplos-de-php/</link>
                <guid isPermaLink="false">6401627f2154fe0736d629ca</guid>
                
                    <category>
                        <![CDATA[ php ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ BlackeyeB ]]>
                </dc:creator>
                <pubDate>Tue, 21 Mar 2023 01:56:45 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2023/03/php-examples.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artículo original:</strong> <a href="https://www.freecodecamp.org/news/the-best-php-examples/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">The Best PHP Examples</a>
      </p><p>PHP es un lenguaje de secuencias de comandos del lado del servidor creado en 1995 por Rasmus Lerdorf.</p><p>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.</p><h3 id="-para-qu-se-usa-php"><strong>¿Para qué se usa PHP?</strong></h3><p>Desde octubre de 2018, PHP se usa en el <a href="https://w3techs.com/technologies/overview/programming_language/all">80 % de los sitios web cuyo lenguaje del lado del servidor es conocido</a> . Por lo general, se usa en sitios web para generar contenido de página web de forma dinámica. Los casos de uso incluyen:</p><ul><li>Sitios web y aplicaciones web (secuencias de comandos del lado del servidor)</li><li>Secuencias de comandos de línea de comandos</li><li>Aplicaciones de escritorio (GUI)</li></ul><p>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:</p><ul><li>Procesar y guardar la entrada del usuario de los datos de un formulario</li><li>Configurar y trabajar con las cookies del sitio web</li><li>Restringir el acceso a ciertas páginas de su sitio web</li></ul><p>La plataforma de redes sociales más grande, <a href="https://www.facebook.com/">Facebook</a>, está escrita usando PHP</p><h3 id="-c-mo-funciona-php"><strong>¿Cómo funciona PHP?</strong></h3><p>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.</p><p>Esto se ilustra a continuación:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/espanol/news/content/images/2023/03/PHP-server-model.png" class="kg-image" alt="PHP-server-model" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2023/03/PHP-server-model.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2023/03/PHP-server-model.png 758w" sizes="(min-width: 720px) 720px" width="758" height="483" loading="lazy"><figcaption>Fuente: https://github.com/xeroxism/</figcaption></figure><p>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.</p><p>El código PHP está encerrado entre las etiquetas <code>&lt;?php</code> y <code>?&gt;</code>y luego se puede incrustar en HTML.</p><h2 id="instalaci-n"><strong>Instalación</strong></h2><p>PHP se puede instalar con o sin un servidor web.</p><h3 id="gnu-linux"><strong><strong>GNU/Linux</strong></strong></h3><p>En las distribuciones GNU/Linux basadas en Debian, puedes instalarlo mediante:</p><pre><code class="language-bash">sudo apt install php</code></pre><p>En Centos 6 o 7 puedes instalarlo con:</p><pre><code class="language-bash">sudo yum install php</code></pre><p>Después de la instalación, puedes ejecutar cualquier archivo PHP simplemente haciendo esto en la terminal:</p><pre><code class="language-text">php file.php</code></pre><p>También puedes instalar un servidor localhost para ejecutar sitios web PHP. Para instalar el servidor web Apache:</p><pre><code class="language-text">sudo apt install apache2 libapache2-mod-php</code></pre><p>O también puedes instalar PHP, MySQL y servidor web, todo instalando:</p><p><a href="https://www.apachefriends.org/download.html">XAMPP</a> (paquete de solución con pila de servidor web multiplataforma gratuito y de código abierto) o paquetes similares como <a href="http://www.wampserver.com/en/">WAMP</a></p><h2 id="frameworks-php"><strong><strong>Frameworks</strong> PHP</strong></h2><p>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:</p><ul><li>No tienes que reinventar la rueda cada vez que creas un proyecto, muchos de los matices ya están resueltos.</li><li>Por lo general, están bien estructurados para ayudar en la separación de preocupaciones.</li><li>La mayoría de los frameworks tienden a seguir las mejores prácticas del lenguaje.</li><li>Muchos de ellos siguen el patrón MVC (Model-View-Controller) para separar la capa de presentación de la de lógica.</li></ul><h3 id="frameworks-populares"><strong>F<strong>rameworks</strong> populares</strong></h3><ul><li><a href="https://codeigniter.com/">CodeIgniter</a></li><li><a href="https://laravel.com/">Laravel</a></li><li><a href="https://symfony.com/">Symfony</a></li><li><a href="http://www.zend.com/">Zend</a></li><li><a href="https://cakephp.org/">CakePHP</a></li><li><a href="https://fuelphp.com/">FuelPHP</a></li><li><a href="https://www.slimframework.com/">Slim</a></li><li><a href="https://www.yiiframework.com/">Yii 2</a></li></ul><h2 id="sintaxis-b-sica"><strong>Sintaxis básica</strong></h2><p>Los scripts PHP se pueden colocar en cualquier parte de un documento y siempre comienzan con <code>&lt;?php</code> y terminan con <code>?&gt;</code>. Además, las declaraciones de PHP terminan con un punto y coma (;).</p><p>Aquí hay una secuencia de comandos simple que usa la función integrada <code>echo</code> para mostrar el texto "Los mejores ejemplos de PHP" en la página:</p><pre><code>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;body&gt;

&lt;h1&gt;Noticias para desarrolladores&lt;/h1&gt;

&lt;?php echo "Los mejores ejemplos de PHP"; ?&gt;

&lt;/body&gt;
&lt;/html&gt; </code></pre><p>La salida de esto sería:</p><pre><code class="language-text">Noticias para desarrolladores

Los mejores ejemplos de PHP</code></pre><h3 id="comentarios"><strong>Comentarios</strong></h3><p>PHP admite varias formas para hacer comentarios:</p><ul><li>Comentarios de una sola línea:</li><li>Comentarios de varias líneas:</li></ul><pre><code>&lt;?php
  // Este es un comentario de una sola línea
  
  # También puedes hacer comentarios de una sola línea como este
?&gt;</code></pre><pre><code>&lt;?php
/*
Este bloque de comentarios 
abarca múltiples
líneas
*/
?&gt;</code></pre><h3 id="sensibilidad-de-may-sculas-y-min-sculas"><strong>Sensibilidad de mayúsculas y minúsculas</strong></h3><p>Todas las palabras clave, clases y funciones NO distinguen entre mayúsculas y minúsculas.</p><p>En el siguiente ejemplo, las tres declaraciones de echo son válidas:</p><pre><code class="language-text">&lt;?php
ECHO "¡Hola!&lt;br&gt;";
echo "Bienvenido a Noticias para desarrolladores&lt;br&gt;";
EcHo "Disfruta de todos los artículos sin publicidad&lt;br&gt;";
?&gt;</code></pre><p>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 <code>$name</code>. <code>$NAME</code> y &nbsp;<code>$NaMe</code> ambas son tratadas como variables diferentes:</p><pre><code class="language-text">&lt;?php
$nombre = "Maria";
echo "¡Hola! Mi nombre es " . $nombre . "&lt;br&gt;";
echo "¡Hola! Mi nombre es " . $NOMBRE . "&lt;br&gt;";
echo "¡Hola! Mi nombre es " . $NomBre . "&lt;br&gt;";
?&gt;</code></pre><h2 id="variables"><strong><strong>Variables</strong> </strong></h2><p>Las variables son la forma principal de almacenar información en un programa PHP.</p><p>Todas las variables en PHP comienzan con un signo de dólar inicial como <code>$variable_nombre</code>. Para asignar una variable se utiliza el <code>=</code>operador, con el nombre de la variable a la izquierda y la expresión a evaluar a la derecha.</p><p><strong><strong><strong><strong>Sintaxis:</strong></strong></strong></strong></p><pre><code class="language-php">&lt;?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;
?&gt;</code></pre><h3 id="reglas-para-variables-de-php"><strong>Reglas para variables de PHP</strong></h3><ul><li>Las declaraciones de variables comienzan con <code>$</code>, seguido del nombre de la variable.</li><li>Los nombres de variables solo pueden comenzar con una letra mayúscula o minúscula o un guión bajo (<code>_</code>).</li><li>Los nombres de variables solo pueden contener letras, números o guiones bajos (Az, 0-9 y <code>_</code>). Otros caracteres especiales como <code>+ - % ( ) . &amp;</code> no son válidos.</li><li>Los nombres de las variables distinguen entre mayúsculas y minúsculas.</li></ul><p><strong><strong>Algunos ejemplos de nombres de variables permitidos:</strong></strong></p><ul><li>$mi_variable</li><li>$otraVariable</li><li>$laSegundaVariable</li></ul><h3 id="variables-predefinidas"><strong>Variables predefinidas</strong></h3><p>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 <a href="https://www.php.net/manual/es/language.variables.predefined.php">sitio de documentación de PHP</a>.</p><ul><li><code>$this</code></li><li><code>$_GET</code></li><li><code>$_POST</code></li><li><code>$_SERVER</code></li><li><code>$_FILES</code></li></ul><h2 id="tipos-de-datos-php"><strong>Tipos de datos PHP</strong></h2><p>Las variables pueden almacenar datos de diferentes tipos, tales como:</p><ul><li>Cadena de caracteres ("Hola")</li><li>Entero (5)</li><li>Float (también llamado doble) (1.0)</li><li>Boolean ( 1 o 0 )</li><li>Arreglo (arreglo("Yo", "soy", "un", "arreglo") )</li><li>Objeto</li><li>NULO</li><li>Recurso</li></ul><h3 id="cadena-de-caracteres-strings-"><strong>Cadena de caracteres (Strings)</strong></h3><p>Una cadena (string) es una secuencia de caracteres. Puede ser cualquier texto entre comillas (sencillas o dobles):</p><pre><code class="language-php">$x = "¡Hola!";
$y = '¡Hola!';</code></pre><h3 id="enteros"><strong>Enteros</strong></h3><p>Un tipo de datos entero es un número no decimal entre -2,147,483,648 y 2,147,483,647.</p><p><strong><strong>Reglas para números enteros:</strong></strong></p><ul><li>Los números enteros deben tener al menos un dígito</li><li>Los números enteros no deben tener un punto decimal</li><li>Los enteros pueden ser positivos o negativos</li></ul><p><code>$x = 5;</code></p><h3 id="floats"><strong><strong>Floats</strong></strong></h3><p>Un número flotante, o de punto flotante, es un número con un punto decimal.</p><p><code>$x = 5.01;</code></p><h3 id="booleans"><strong><strong>Booleans</strong></strong></h3><p>Un booleano representa dos estados posibles: VERDADERO o FALSO. Los booleanos se utilizan a menudo en pruebas condicionales.</p><pre><code class="language-php">$x = true; //Verdadero
$y = false; //Falso</code></pre><h3 id="arreglos"><strong>Arreglos</strong></h3><p>Un arreglo (array) almacena múltiples valores en una sola variable.</p><p><code>$colores = array("Magenta", "Amarillo", "Cian");</code></p><h3 id="null-nulo-"><strong><strong>NULL</strong> (NULO)</strong></h3><p>Null es un tipo de datos especial que solo puede tener el valor <code>null</code>. Las variables pueden declararse sin valor o vaciarse estableciendo el valor en <code>null</code>. Además, si se crea una variable sin que se le asigne un valor, se asigna automáticamente <code>null</code>.</p><pre><code class="language-php">&lt;?php
// Asigna el valor "¡Hola!" a saludo
$saludo = "¡Hola!";

// Vacía el valor de saludo configurándolo como nulo
$saludo = null;
?&gt;</code></pre><h3 id="clases-y-objetos"><strong>Clases y Objetos</strong></h3><p>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.</p><pre><code class="language-php">&lt;?php
class Coche {
    function Coche() {
        $this-&gt;modelo = "Tesla";
    }
}

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

// muestra las propiedades del objeto
echo $objeto_coche-&gt;modelo;
?&gt;</code></pre><h3 id="recurso-php"><strong>Recurso PHP</strong></h3><p>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 <a href="https://www.php.net/manual/es/function.get-resource-type.php">get<em><em>resource</em></em>type()</a> para ver el tipo de recurso.</p><pre><code class="language-php">&lt;?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-&gt;doc) . "\n";
?&gt;</code></pre><h3 id="cadena-de-caracteres-strings--1"><strong>Cadena de caracteres (Strings)</strong></h3><p>Una cadena es una serie de caracteres. Estos se pueden utilizar para almacenar cualquier información textual en tu aplicación.</p><p>Hay varias formas diferentes de crear cadenas en PHP.</p><h3 id="comillas-simples"><strong>Comillas simples</strong></h3><p>Las cadenas simples se pueden crear usando comillas simples.</p><pre><code class="language-php">$nombre = 'Maria';</code></pre><p>Para incluir una comilla simple en la cadena, usa una barra invertida para escapar.</p><pre><code class="language-php">$apellido = 'O\'Brian';</code></pre><h3 id="comillas-dobles-">Comillas dobles.</h3><p>También puedes crear cadenas usando comillas dobles.</p><pre><code class="language-php">$nombre = "Maria";</code></pre><p>Para incluir una comilla doble, usa una barra invertida para escapar.</p><pre><code class="language-php">$cita = "Maria dijo: \"Quiero unas tostadas\", y luego salió corriendo.";</code></pre><p>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 <code>\n</code>, tabulaciones <code>\t</code> y barras invertidas reales <code>\\</code>.</p><p>También puedes incrustar variables de PHP en cadenas entre comillas dobles para agregar sus valores a la cadena.</p><pre><code class="language-php">$nombre = 'Maria';
$saludo = "Hola $nombre"; // Ahora continene la cadena "Hola Maria"</code></pre><h2 id="funciones-de-cadenas">Funciones de cadenas</h2><h3 id="encontrar-la-longitud-de-una-cadena">Encontrar la longitud de una cadena</h3><p>La función <code>strlen()</code> devuelve la longitud de una cadena.</p><pre><code class="language-php">&lt;?php
echo strlen("Noticias para desarrolladores"); // salidas 14
?&gt;</code></pre><p><strong> <strong>Encuentra el número de palabras en una cadena</strong></strong></p><p>La función <code>str<em><em>word</em></em>count()</code> devuelve el número de palabras en una cadena:</p><pre><code class="language-text">&lt;?php
echo str_word_count("Noticias para desarrolladores"); // salidas 2
?&gt;</code></pre><h4 id="invertir-una-cadena"><strong><strong><strong>Invertir una cadena</strong></strong></strong></h4><p>La función <code>strrev()</code> invierte una cadena:</p><pre><code class="language-text">&lt;?php
echo strrev("Noticias para desarrolladores"); // outputs sweN repoleveD
?&gt;</code></pre><p><strong>Buscar texto dentro de una cadena</strong></p><p>La función <code>strpos()</code> busca texto en una cadena:</p><pre><code class="language-text">&lt;?php
echo strpos("Noticias para desarrolladores", "Noticias"); // salidas 10
?&gt;</code></pre><p><strong> </strong><br><strong>Reemplazar texto dentro de una cadena</strong></p><p>La función <code>str_replace()</code> reemplaza el texto en una cadena:</p><pre><code class="language-text">&lt;?php
echo str_replace("freeCodeCamp", "Desarrollador", "Noticias del freeCodeCamp "); // muestra Noticias del Desarrollador
?&gt;</code></pre><h2 id="constantes"><strong>Constantes</strong></h2><p>Las constantes son un tipo de variable en PHP. La función <code>define()</code> 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).</p><h3 id="-mbito"><strong>Ámbito</strong></h3><p>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.</p><pre><code class="language-php">&lt;?php
define("freeCodeCamp", "Aprende a programar y ayuda a organizaciones sin ánimo de lucro", false);
echo freeCodeCamp;
&gt;?

// Muestra: Aprende a programar y ayuda a organizaciones sin ánimo de lucro</code></pre><p>Además, cuando creas clases, puedes declarar tus propias constantes.</p><pre><code class="language-php">class Humano {
  const TIPO_MASCULINO = 'm';
  const TIPO_HEMBRA = 'f';
  const TIPO_DESCONOCIDO = 'u'; // Cuando el usuario no sabe que género seleccionar
.............
}</code></pre><p><strong><strong><strong><strong>Nota:</strong></strong></strong></strong> si deseas usar esas constantes dentro de la clase <code>Humano</code>, puedes hacer referencia a ellas como <code>self::CONSTANTE_NOMBRE</code>. Si deseas usarlos fuera de la clase, debes referirte a ellos como <code>Humano::CONSTANTE_NOMBRE</code>.</p><h2 id="operadores"><strong>Operadores</strong></h2><p>PHP contiene todos los operadores normales que uno esperaría encontrar en un lenguaje de programación.</p><p>Se usa un solo “=” como operador de asignación y un doble “==” o triple “===” se usa para la comparación.</p><p>Los habituales “&lt;” y “&gt;” también se pueden usar para comparar y “+=” se puede usar para agregar un valor y asignarlo al mismo tiempo.</p><p>Lo más notable es el uso de "." para concatenar cadenas y “.=” para agregar una cadena al final de otra.</p><p>El operador Spaceship (&lt;=&gt;) es nuevo en PHP 7.0.X . El operador &nbsp;devuelve -1, 0 o 1 cuando $a es menor, igual o mayor que $b.</p><pre><code class="language-php">&lt;?php

echo 1 &lt;=&gt; 1; // 0
echo 1 &lt;=&gt; 2; // -1
echo 2 &lt;=&gt; 1; // 1</code></pre><h2 id="declaraciones-if-else-elseif"><strong>Declaraciones If / Else / Elseif</strong></h2><p>If / Else (Si /si no) es una declaración condicional donde, dependiendo de la veracidad de una condición, se realizarán diferentes acciones.</p><p><strong><strong><strong><strong>Nota:</strong></strong></strong></strong> Los<code>{}</code>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.</p><h3 id="declaraci-n-if"><strong>Declaración If</strong></h3><pre><code class="language-text">&lt;?php

  if (condición) {
    sentencia1;
    sentencia2;

  }</code></pre><p><strong><strong><strong><strong>Nota:</strong></strong></strong></strong> Puedes anidar tantas declaraciones en un bloque "si" como desees; no estás limitado a la cantidad en los ejemplos.</p><h3 id="declaraci-n-if-else"><strong>Declaración If/Else</strong></h3><pre><code class="language-text">&lt;?php

  if (condición) {
    sentencia1;
    sentencia2;
  } else {
    sentencia3;
    sentencia4;
    
  }</code></pre><p><strong><strong><strong><strong>Nota:</strong></strong></strong></strong> La declaración<code>else</code> es opcional.</p><h3 id="declaraci-n-if-elseif-else"><strong>Declaración If/Elseif/Else</strong></h3><pre><code class="language-text">&lt;?php
    
  if (condición) {
    sentencia1;
    sentencia2;
  } elseif {
    sentencia3;
    sentencia4;
  } else {
    sentencia5;
   
  }</code></pre><p><strong><strong><strong><strong>Nota:</strong></strong></strong></strong><code>elseif</code> siempre debe escribirse como una sola palabra.</p><h3 id="declaraci-n-anidada-if-else"><strong>Declaración anidada If/Else</strong></h3><pre><code class="language-text">&lt;?php

  if (condición1) {
      if (condición2) {
        sentencia1;
        sentencia2;
      } else {
        sentencia3;
        sentencia4;
      }
  } else {
      if (condición3) {
        sentencia5;
        sentencia6;
      } else {
        sentencia7;
        sentencia8;
      }
  }</code></pre><h3 id="m-ltiples-condiciones"><strong>Múltiples Condiciones</strong></h3><p>Se pueden usar varias condiciones a la vez con los operadores lógicos "o" (||), "xor" y "y" (&amp;&amp;).</p><p>Por ejemplo:</p><pre><code class="language-text">&lt;?php

  if (condición1 &amp;&amp; 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!';

}</code></pre><p><strong><strong><strong><strong>Nota:</strong></strong></strong></strong> Es una buena práctica envolver las condiciones individuales entre paréntesis cuando tienes más de una (puede mejorar la legibilidad).</p><h3 id="sintaxis-alternativa-if-else"><strong>Sintaxis alternativa If/Else</strong></h3><p>También hay una sintaxis alternativa para las estructuras de control.</p><pre><code class="language-php">  if (condición1):
    sentencia1;
  else:
    sentencia5;
  endif;</code></pre><h3 id="operadores-ternarios"><strong> Operadores Ternarios</strong></h3><p>Los operadores ternarios son básicamente sentencias if / else de una sola línea.</p><p>Imagina que necesitas mostrar "Hola (nombre de usuario)" si un usuario ha iniciado sesión y "Hola invitado" si no ha iniciado sesión.</p><p><strong>Declaración If/Else:</strong></p><pre><code class="language-text">if($usuario == !NULL {
  $mensaje = 'Hola '. $usuario; 
} else {
  $mensaje = 'Hola invitado';
}</code></pre><p><strong><strong>Operador ternario</strong></strong> :</p><pre><code class="language-text">$mensaje = 'Hola '.($usuario == !NULL ? $usuario : 'invitado');</code></pre><h2 id="switch"><strong><strong>Switch</strong></strong></h2><p>En PHP, la declaración <code>Switch</code> &nbsp;es muy similar a la declaración <code>Switch</code> &nbsp;de JavaScript (consulte esta <a href="https://www.freecodecamp.org/espanol/news/javascript-switch-case-ejemplo-de-sentencias-switch-en-js/">guía de declaración de switch de JavaScript</a> 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.</p><pre><code class="language-php">&lt;?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;            
	}</code></pre><h3 id="break"><strong><strong>Break</strong></strong></h3><p>La instrucción <code>break;</code> sale del conmutador y continúa ejecutando el resto del código de la aplicación. Si no usas la declaración <code>break;</code>, puedes terminar ejecutando múltiples casos y declaraciones, a veces esto puede ser deseable, en cuyo caso no debes incluir la declaración <code>break;</code>.</p><p>Un ejemplo de este comportamiento se puede ver a continuación:</p><pre><code class="language-text">&lt;?php
    $j = 0;

    switch ($i) {
        case '2':
            $j++;
        case '1':
            $j++;
            break;
        default:
            break;
    }</code></pre><p>Si $i = 1, el valor de $j sería:</p><pre><code class="language-text">1</code></pre><p>Si $i = 2, el valor de $j sería:</p><pre><code class="language-text">2</code></pre><p>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):</p><pre><code class="language-text">&lt;?php
    switch ($i) {
        case '1':
            return 1;
        case '2':
            return 2;
        default:
            break;
     }</code></pre><pre><code class="language-text">&lt;?php
    switch ($i) {
        case '1':
            return 1;
            break;
        case '2':
            return 2;
            break;
        default:
            break;
     }</code></pre><h3 id="ejemplo"><strong>Ejemplo</strong></h3><pre><code class="language-php">&lt;?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.'.';

?&gt;</code></pre><h3 id="salida"><strong>Salida</strong></h3><pre><code class="language-text">Si el caso es 1
&gt; El dado muestra el número Uno.

Si el caso es 2
&gt; El dado muestra el número Dos.

Si el caso es 3
&gt; El dado muestra el número Tres o Cuatro.

Si el caso es 4
&gt; El dado muestra el número Tres o Cuatro.

Si el caso es 5
&gt; CincoSeisEl dado muestra el número Seis.

Si el caso es 6
&gt; SeisEl dado muestra el número Seis.

if none of the above
&gt; El dado muestra el número desconocido.</code></pre><h2 id="bucles"><strong>Bucles</strong></h2><p>Cuando necesites repetir una tarea varias veces, puedes usar un bucle en lugar de agregar el mismo código una y otra vez.</p><p>El uso de <code>break</code>dentro del bucle puede detener la ejecución del bucle.</p><h3 id="bucle-for">B<strong>ucle For</strong></h3><p>Recorre un bloque de código un número específico de veces.</p><pre><code class="language-php">&lt;?php
for($indice = 0; $indice &lt; 5; $indice ++)
{
    echo "Contador de bucle actual ".$indice.".\n";
}
?&gt;

/*
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.
*/</code></pre><h3 id="bucle-while"><strong>Bucle While</strong></h3><p>Recorre un bloque de código si una condición es verdadera.</p><pre><code class="language-php">&lt;?php
$index = 10;
while ($index &gt;= 0)
{
    echo "El índice es ".$index.".\n";
    $index--;
}
?&gt;

/*
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.
*/</code></pre><h3 id="bucle-do-while"><br>Bucle Do...While</h3><p>Recorre un bloque de código una vez y continúa recorriendo si la condición es verdadera.</p><pre><code class="language-php">&lt;?php
$indice = 3;
do
{
    // ejecuta esto al menos 1 vez
    echo "Indice: ".$indice.".\n"; 
    $indice --;
}
while ($indice &gt; 0);
?&gt;

/*
Muestra:

Indice: 3.
Indice: 2.
Indice: 1.
*/</code></pre><h3 id="bucle-foreach"><strong>Bucle Foreach </strong></h3><p>Recorre un bloque de código para cada valor dentro de un arreglo.</p><h2 id="funciones"><strong>Funciones</strong></h2><p>Una función es un bloque de instrucciones que se pueden usar repetidamente en un programa.</p><h3 id="funci-n-simple-llamada"><strong>Función simple + llamada</strong></h3><pre><code class="language-php">function di_hola() {
  return "¡Hola!";
}

echo di_hola();</code></pre><h3 id="funci-n-simple-par-metro-llamada"><strong>Función simple + Parámetro + Llamada</strong></h3><pre><code class="language-php">function di_hola($amigo) {
  return "Hola " . $amigo . "!";
}

echo di_hola('Antonio');</code></pre><h3 id="strtoupper-hace-que-todos-los-caracteres-sean-may-sculas-"><strong>strtoupper - ¡Hace que todos los caracteres sean MAYÚSCULAS!</strong></h3><pre><code class="language-php">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));</code></pre><h2 id="arreglos-1"><strong>Arreglos</strong></h2><p>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.</p><h3 id="tipos-de-arreglos"><strong>Tipos de arreglos</strong></h3><p>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.</p><h3 id="arreglo-indexado"><strong>Arreglo i<strong>ndex</strong>ado</strong></h3><p>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 <code>0</code> el primer valor y luego aumentan en uno a partir de ahí.</p><pre><code class="language-php">&lt;?php
$lista_de_la_compra = array("huevos", "leche", "queso");
?&gt;</code></pre><p><code>$lista_de_la_compra[0]</code> devolvería <code>"huevos"</code>, </p><p><code>$lista_de_la_compra[1]</code> devolvería <code>"leche"</code> y </p><p><code>$lista_de_la_compra[2]</code> devolvería <code>"queso"</code>.</p><h3 id="arreglo-asociativo"><strong>Arreglo asociativo</strong></h3><p>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.</p><pre><code class="language-php">&lt;?php
$puntuacion_alumno = array("Antonio" =&gt; 83, "Jose" =&gt; "93", "Pedro" =&gt; "90");
?&gt;</code></pre><p><code>$puntuacion_alumnos['Antonio']</code> devolvería <code>83</code>,</p><p> <code>$puntuacion_alumnos['Jose']</code> devolvería <code>93</code> y </p><p><code>$puntuacion_alumnos['Pedro']</code> devolvería <code>90</code>.</p><h3 id="arreglo-multidimensional"><strong>Arreglo multidimensional</strong></h3><p>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.</p><pre><code class="language-php">&lt;?php
  $alumnos = 
  array(
    array("nombre" =&gt; "Antonio", "puntuacion" =&gt; 83, "apellido" =&gt; "Garcia"),
    array("nombre" =&gt; "Jose", "puntuacion" =&gt; 92, "apellido" =&gt; "Sevilla"),
    array("nombre" =&gt; "Pedro", "puntuacion" =&gt; 90, "apellido" =&gt; "Alvarez")   
  );
?&gt;</code></pre><p>Ahora puedes conseguir el &nbsp;<code>nombre</code> del primer alumno con:</p><pre><code class="language-php">$alumnos[0]['nombre']</code></pre><h3 id="obtener-la-longitud-de-un-arreglo-la-funci-n-count-"><strong>Obtener la longitud de un arreglo: la función count ()</strong></h3><p>La función <code>count()</code> se usa para devolver la longitud (el número de elementos) de un arreglo:</p><pre><code class="language-php">&lt;?php
$coches = array("Volvo", "BMW", "Toyota");
echo count($coches);
?&gt;</code></pre><h2 id="ordenaci-n-de-arreglos"><strong>Ordenación de arreglos</strong></h2><p>PHP ofrece varias funciones para ordenar arreglos. A continuación describiremos las diferentes funciones incluyendo ejemplos.</p><h3 id="sort-"><strong><strong>sort()</strong></strong></h3><p>La función <code>sort()</code> 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...)</p><pre><code class="language-php">&lt;?php
$freecodecamp = array("free", "code", "camp");
sort($freecodecamp);
print_r($freecodecamp);
?&gt;</code></pre><p><strong>Salida:</strong></p><pre><code class="language-text">Arreglo
(
    [0] =&gt; camp
    [1] =&gt; code
    [2] =&gt; free
)</code></pre><h3 id="rsort-"><strong><strong>rsort()</strong></strong></h3><p>La función <code>rsort()</code> 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...)</p><pre><code class="language-php">&lt;?php
$freecodecamp = array("free", "code", "camp");
rsort($freecodecamp);
print_r($freecodecamp);
?&gt;</code></pre><p><strong>Salida:</strong></p><pre><code class="language-text">Array
(
    [0] =&gt; free
    [1] =&gt; code
    [2] =&gt; camp
)</code></pre><h3 id="asort-"><strong><strong>asort()</strong></strong></h3><p>La función <code>asort()</code> 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...)</p><pre><code class="language-php">&lt;?php
$freecodecamp = array("cero"=&gt;"free", "uno"=&gt;"code", "dos"=&gt;"camp");
asort($freecodecamp);
print_r($freecodecamp);
?&gt;</code></pre><p><strong>Salida:</strong></p><pre><code class="language-text">Arreglo
(
    [dos] =&gt; camp
    [uno] =&gt; code
    [cero] =&gt; free
)</code></pre><h3 id="ksort-"><strong><strong>ksort()</strong></strong></h3><p>La función <code>ksort()</code> 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...)</p><pre><code class="language-php">&lt;?php
$freecodecamp = array("cero"=&gt;"free", "uno"=&gt;"code", "dos"=&gt;"camp");
ksort($freecodecamp);
print_r($freecodecamp);
?&gt;</code></pre><p><strong>Salida:</strong></p><pre><code class="language-text">Arreglo
(
    [cero] =&gt; free
    [dos] =&gt; camp
    [uno] =&gt; code
)</code></pre><h3 id="arsort-"><strong><strong>arsort()</strong></strong></h3><p>La función <code>arsort()</code> 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...)</p><pre><code class="language-php">&lt;?php
$freecodecamp = array("cero"=&gt;"free", "uno"=&gt;"code", "dos"=&gt;"camp");
arsort($freecodecamp);
print_r($freecodecamp);
?&gt;</code></pre><p><strong>Salida:</strong></p><pre><code class="language-text">Arreglo
(
    [cero] =&gt; free
    [uno] =&gt; code
    [dos] =&gt; camp
)</code></pre><h3 id="krsort-"><strong><strong>krsort()</strong></strong></h3><p>La función <code>krsort()</code> 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...)</p><pre><code class="language-php">&lt;?php
$freecodecamp = array("cero"=&gt;"free", "uno"=&gt;"code", "dos"=&gt;"camp");
krsort($freecodecamp);
print_r($freecodecamp);
?&gt;</code></pre><p><strong>Salida:</strong></p><pre><code class="language-text">Arreglo
(
    [uno] =&gt; code
    [dos] =&gt; camp
    [cero] =&gt; free 
)</code></pre><h2 id="formularios"><strong>Formularios</strong></h2><p>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.</p><p>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.</p><pre><code class="language-html">&lt;html&gt;
&lt;body&gt;
  &lt;form method="get" action="procesar_datos.php"&gt;
      &lt;input type="search" name="buscar" /&gt;&lt;br /&gt;
      &lt;input type="submit" name="enviar" value="buscar" /&gt;&lt;br /&gt;
  &lt;/form&gt;
&lt;body&gt;
&lt;/html&gt;</code></pre><p>El atributo 'method' &nbsp;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.</p><h2 id="comprobaci-n-de-las-entradas-requeridas"><strong>Comprobación de las entradas requeridas</strong></h2><p>PHP tiene algunas funciones para verificar si se han cumplido las entradas requeridas. Esas funciones son <code>isset</code>, <code>empty</code> e <code>is_numeric</code>.</p><h3 id="comprobaci-n-del-formulario-para-asegurarse-de-que-est-configurado"><strong>Comprobación del formulario para asegurarse de que esté configurado</strong></h3><p>Los <code>isset</code> controlan si el campo se ha establecido y no es nulo. Ejemplo:</p><pre><code class="language-php"> $Nombre = $_GET['Nombre']

if(isset($Nombre)){
  echo "Campo Nombre establecido". "&lt;br&gt;";
}
else{
  echo "Campo no establecido."."&lt;br&gt;";
}</code></pre><h2 id="manejo-de-entrada-de-formulario"><strong>Manejo de entrada de formulario</strong></h2><p>Se pueden obtener entradas de formulario con las variables globales $ <em><em>POST y $</em></em> GET.</p><pre><code class="language-text">$_POST["Nombre"] or $_GET['Apellido']</code></pre> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
