<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es_ES"><generator uri="https://jekyllrb.com/" version="4.3.2">Jekyll</generator><link href="https://www.manualweb.net/feed/php.xml" rel="self" type="application/atom+xml" /><link href="https://www.manualweb.net/" rel="alternate" type="text/html" hreflang="es_ES" /><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/feed/php.xml</id><title type="html">Manual Web | Php</title><subtitle>Tutoriales de programación en español.
</subtitle><author><name>manual_web</name></author><entry><title type="html">Manual PHP</title><link href="https://www.manualweb.net/php/" rel="alternate" type="text/html" title="Manual PHP" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/index</id><content type="html" xml:base="https://www.manualweb.net/php/"><![CDATA[<p>Dentro de este <strong>Tutorial Php</strong> podrás encontrar los siguientes contenidos:</p>

<p><strong>Introducción PHP</strong></p>
<ul>
  
    
    
    <li><a href="/php/introduccion-php/">Introducción PHP</a></li>
  
</ul>

<p><strong>Arrays en PHP</strong></p>
<ul>
  
    
    
    <li><a href="/php/arrays-en-php/">Arrays en PHP</a></li>
  
    
    
    <li><a href="/php/manejar-arrays-en-php/">Manejar Arrays en PHP</a></li>
  
    
    
    <li><a href="/php/diccionarios-en-php/">Diccionarios en PHP</a></li>
  
</ul>

<p><strong>Programación Orientada a Objetos (POO)</strong></p>
<ul>
  
    
    
    <li><a href="/php/programacion-orientada-a-objetos-en-php/">Programación Orientada a Objetos en PHP</a></li>
  
    
    
    <li><a href="/php/clases-y-objetos-en-php/">Clases y Objetos en PHP</a></li>
  
</ul>

<h3 id="descargar-manual-php">Descargar Manual PHP</h3>

<p>Puedes descargarte nuestro <a href="#">Manual PHP en formato PDF</a>.</p>

<p>El manual se encuentra en continua revisión, de forma automática la URL proporcionada contendrá la última versión del <strong>Tutorial PHP</strong>.</p>

<h3 id="ejemplos-manual-php">Ejemplos Manual PHP</h3>

<p>A lo largo del <strong>Tutorial PHP</strong> se van explicando una serie de ejemplos. Podéis descargaros los ejemplos del <strong>Tutorial PHP</strong> desde el GitHub de Manual Web.</p>

<p>Si os gusta el contenido del material y los ejemplos os agradecemos si nos aportáis una estrella en GitHub.</p>

<p><a class="github-button" href="https://github.com/manualweb/manualweb" data-icon="octicon-star" data-style="mega" aria-label="Star manualweb/manualweb on GitHub">Star</a></p>

<h3 id="más-sobre-el-manual-php">Más sobre el Manual PHP</h3>

<p>Todas las preguntas y dudas sobre PHP las puedes consultar en el <a href="https://dudasprogramacion.com/php">Foro sobre PHP</a>. Y puedes echar un ojo a los <a href="http://lineadecodigo.com/php/">ejemplos sobre el lenguaje PHP</a>.</p>

<script id="github-bjs" src="https://buttons.github.io/buttons.js" async="" defer="defer"></script>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[Dentro de este Tutorial Php podrás encontrar los siguientes contenidos: Introducción PHP Introducción PHP Arrays en PHP Arrays en PHP Manejar Arrays en PHP Diccionarios en PHP Programación Orientada a Objetos (POO) Programación Orientada a Objetos en PHP Clases y Objetos en PHP]]></summary></entry><entry><title type="html">Diccionarios en PHP</title><link href="https://www.manualweb.net/php/diccionarios-en-php/" rel="alternate" type="text/html" title="Diccionarios en PHP" /><published>2024-05-28T00:00:00+02:00</published><updated>2024-05-28T00:00:00+02:00</updated><id>https://www.manualweb.net/php/diccionarios-en-php</id><content type="html" xml:base="https://www.manualweb.net/php/diccionarios-en-php/"><![CDATA[<p>Hasta ahora hemos visto cómo <a href="https://manualweb.net/php/manejar-arrays-en-php/">manejar los arrays en PHP como si fuesen arrays indexados</a>, en los que cada posición se  identifica por el valor de un índice. En este caso vamos a ver cómo podemos utilizar los <a href="https://manualweb.net/php/manejar-arrays-en-php/">arrays en PHP</a> como si fuesen <strong>arrays asociativos o diccionarios en PHP</strong>.</p>

<h2 id="qué-es-un-diccionario-en-php">¿Qué es un diccionario en PHP?</h2>

<p>Un diccionario en <a href="https://www.manualweb.net/php/">PHP</a> es una estructura de datos que <strong>permite almacenar pares de clave-valor</strong>. A diferencia de los arrays indexados, donde los índices son números enteros, <strong>en un diccionario cada valor está asociado a una clave única</strong>. Esta clave puede ser un número o una cadena de texto.</p>

<h2 id="cómo-definir-un-diccionario-en-php">Cómo definir un diccionario en PHP</h2>

<p>Para definir un <strong>diccionario en</strong> <a href="https://www.manualweb.net/php/"><strong>PHP</strong></a> podemos utilizan tanto la función <code class="language-plaintext highlighter-rouge">array()</code> como el operador corchete <code class="language-plaintext highlighter-rouge">[]</code>, lo importante es que la definición de los elementos del diccionario se definen mediante pares clave/valor.</p>

<p>La sintaxis para poder definir un <strong>diccionario en</strong> <a href="https://www.manualweb.net/php/"><strong>PHP</strong></a> sería la siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$diccionario</span> <span class="o">=</span> <span class="k">array</span><span class="p">(</span>
	<span class="s1">'clave1'</span> <span class="o">=&gt;</span> <span class="s1">'valor1'</span><span class="p">,</span>
	<span class="s1">'clave2'</span> <span class="o">=&gt;</span> <span class="s1">'valor2'</span><span class="p">,</span>
	<span class="s1">'clave3'</span> <span class="o">=&gt;</span> <span class="s1">'valor3'</span><span class="p">,</span>
	<span class="mf">...</span>
	<span class="s1">'claveN'</span> <span class="o">=&gt;</span> <span class="s1">'valorN'</span>
<span class="p">);</span>
</code></pre></div></div>

<p>También podríamos <strong>definir un diccionario</strong> <a href="https://www.manualweb.net/php/"><strong>PHP</strong></a> <strong>con el operador corchete</strong> <code class="language-plaintext highlighter-rouge">[]</code> de la siguiente manera:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$diccionario</span> <span class="o">=</span> <span class="p">[</span>
	<span class="s1">'clave1'</span> <span class="o">=&gt;</span> <span class="s1">'valor1'</span><span class="p">,</span>
	<span class="s1">'clave2'</span> <span class="o">=&gt;</span> <span class="s1">'valor2'</span><span class="p">,</span>
	<span class="s1">'clave3'</span> <span class="o">=&gt;</span> <span class="s1">'valor3'</span><span class="p">,</span>
	<span class="mf">...</span>
	<span class="s1">'claveN'</span> <span class="o">=&gt;</span> <span class="s1">'valorN'</span>
<span class="p">];</span>
</code></pre></div></div>

<p>De esta manera podríamos <strong>definir un diccionario</strong> <a href="https://www.manualweb.net/php/"><strong>PHP</strong></a> que representase los valores de una persona de la siguiente forma:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$persona</span> <span class="o">=</span> <span class="p">[</span>
  <span class="s1">'nombre'</span> <span class="o">=&gt;</span> <span class="s1">'Luis'</span><span class="p">,</span>
  <span class="s1">'edad'</span> <span class="o">=&gt;</span> <span class="mi">3</span><span class="p">,</span>
  <span class="s1">'sexo'</span> <span class="o">=&gt;</span> <span class="s1">'M'</span><span class="p">,</span>
  <span class="s1">'ciudad'</span> <span class="o">=&gt;</span> <span class="s1">'Barcelona'</span>
<span class="p">]</span>
</code></pre></div></div>

<h2 id="acceder-a-un-elemento-de-un-diccionario-en-php">Acceder a un elemento de un diccionario en PHP</h2>

<p>Para acceder a los elementos de un diccionario en <a href="https://www.manualweb.net/php/">PHP</a> será tan sencillo como utilizar el operador corchete <code class="language-plaintext highlighter-rouge">[]</code> y pasar como parámetro el identificador de la clave que hemos utilizado en la definición de los atributos del diccionario.</p>

<p>La sintaxis para poder acceder a un elemento de un diccionario en <a href="https://www.manualweb.net/php/">PHP</a> será la siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$valor</span> <span class="o">=</span> <span class="nv">$diccionario</span><span class="p">[</span><span class="s1">'clave'</span><span class="p">];</span>
</code></pre></div></div>

<p>De esta manera podremos mostrar el valor del nombre del diccionario definiendo a una persona de la siguiente forma:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">echo</span> <span class="nv">$persona</span><span class="p">[</span><span class="s1">'nombre'</span><span class="p">];</span>  <span class="c1">// Mostrará "Luis"</span>
</code></pre></div></div>

<blockquote>
  <p>💻 Ejecuta este código en <a href="https://onecompiler.com/php/42ejk3bvy">https://onecompiler.com/php/42ejk3bvy</a></p>
</blockquote>

<p>Cuando manejamos diccionarios en <a href="https://www.manualweb.net/php/">PHP</a> deberemos de tener cuidado a la hora de manejar las claves. Ya que en el caso de que la clave a la que estamos intentando acceder no exista se generará un error de nivel <code class="language-plaintext highlighter-rouge">E_NOTICE</code>.</p>

<h2 id="manejo-de-las-claves-de-un-diccionario">Manejo de las claves de un diccionario</h2>

<p>Antes de seguir conociendo como manipular los diccionarios en <a href="https://www.manualweb.net/php/">PHP</a> nos vamos a centrar un poco en conocer la gestión de las claves. Ya que hemos visto que intentar acceder a una clave que no existe puede suponer un problema que se reporte como error <code class="language-plaintext highlighter-rouge">E_NOTICE</code>.</p>

<h3 id="listar-las-claves-de-un-diccionario-en-php">Listar las claves de un diccionario en PHP</h3>

<p>Para listas las claves de un diccionario en <a href="https://www.manualweb.net/php/">PHP</a>, es decir, para conocer todas las claves que existen, disponemos de la función <code class="language-plaintext highlighter-rouge">array_keys()</code>. La sintaxis de la función <code class="language-plaintext highlighter-rouge">array_keys()</code> es la siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$claves</span> <span class="o">=</span> <span class="nb">array_keys</span><span class="p">(</span><span class="nv">$diccionario</span><span class="p">);</span>
</code></pre></div></div>

<p>La función <code class="language-plaintext highlighter-rouge">array_keys()</code> devuelve un array con todas las claves del diccionario que pasamos como parámetro.</p>

<p>Por lo que podremos recorrer mediante un bucle <code class="language-plaintext highlighter-rouge">foreach</code> el diccionario para poder mostrar todas sus claves. Por ejemplo, podemos recorrer las claves de nuestro diccionario persona de la siguiente forma:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$persona</span> <span class="o">=</span> <span class="p">[</span>
  <span class="s1">'nombre'</span> <span class="o">=&gt;</span> <span class="s1">'Luis'</span><span class="p">,</span>
  <span class="s1">'edad'</span> <span class="o">=&gt;</span> <span class="mi">3</span><span class="p">,</span>
  <span class="s1">'sexo'</span> <span class="o">=&gt;</span> <span class="s1">'M'</span><span class="p">,</span>
  <span class="s1">'ciudad'</span> <span class="o">=&gt;</span> <span class="s1">'Barcelona'</span>
<span class="p">];</span>

<span class="nv">$claves</span> <span class="o">=</span> <span class="nb">array_keys</span><span class="p">(</span><span class="nv">$persona</span><span class="p">);</span>

<span class="k">foreach</span><span class="p">(</span><span class="nv">$claves</span> <span class="k">as</span> <span class="nv">$clave</span><span class="p">){</span>
	<span class="k">echo</span> <span class="nv">$clave</span> <span class="mf">.</span> <span class="s2">"</span><span class="se">\\</span><span class="s2">n"</span><span class="p">;</span>
<span class="p">}</span>
</code></pre></div></div>

<blockquote>
  <p>💻 Ejecuta este código en <a href="https://onecompiler.com/php/42ejjxr5h">https://onecompiler.com/php/42ejjxr5h</a></p>
</blockquote>

<p>En este caso, el <a href="https://lineadecodigo.com/categoria/php/">script en PHP</a> mostrará en la salida estándar las claves <em>‘nombre’, ‘edad’, ‘sexo’</em> y <em>‘ciudad’</em>.</p>

<h3 id="comprobar-que-una-clave-existe-isset">Comprobar que una clave existe: isset()</h3>

<p>Comprobar que una clave existe, antes de acceder a un diccionario, es una buena práctica para evitar que se produzca un error. Tenemos dos formas de poder comprobar si una clave existe en un diccionario en <a href="https://www.manualweb.net/php/">PHP</a>.</p>

<p>La primera es mediante la función <code class="language-plaintext highlighter-rouge">isset()</code>, en este caso la sintaxis será la siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">isset</span><span class="p">(</span><span class="nv">$array</span><span class="p">(</span><span class="s1">'clave'</span><span class="p">));</span>
</code></pre></div></div>

<p>En este caso tenemos que pasar como parámetro de la función <code class="language-plaintext highlighter-rouge">isset()</code> el array accediendo a la clave de la que queremos comprobar su existencia. Si existe la clave la función devolverá el valor <code class="language-plaintext highlighter-rouge">true</code> y en el caso de que no exista devolverá el valor <code class="language-plaintext highlighter-rouge">false</code>.</p>

<p>La función <code class="language-plaintext highlighter-rouge">isset()</code> es una función ampliamente utilizadada para comprobar si las variables en PHP han sido inicializadas. Es por ello que si el valor de una de las claves del diccionario en <a href="https://www.manualweb.net/php/">PHP</a> no se ha inicializado y tiene el valor <code class="language-plaintext highlighter-rouge">null</code>, la función <code class="language-plaintext highlighter-rouge">isset()</code> nos devolverá false.</p>

<p>Es decir, si ampliamos el código de nuestro <strong>diccionario en</strong> <a href="https://www.manualweb.net/php/"><strong>PHP</strong></a> para representar una persona a lo siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$persona</span> <span class="o">=</span> <span class="p">[</span>
  <span class="s1">'nombre'</span> <span class="o">=&gt;</span> <span class="s1">'Luis'</span><span class="p">,</span>
  <span class="s1">'edad'</span> <span class="o">=&gt;</span> <span class="mi">3</span><span class="p">,</span>
  <span class="s1">'sexo'</span> <span class="o">=&gt;</span> <span class="s1">'M'</span><span class="p">,</span>
  <span class="s1">'ciudad'</span> <span class="o">=&gt;</span> <span class="s1">'Barcelona'</span><span class="p">,</span>
  <span class="s1">'trabajo'</span> <span class="o">=&gt;</span> <span class="kc">null</span>
<span class="p">];</span>
</code></pre></div></div>

<p>Dónde hay una clave con valor <code class="language-plaintext highlighter-rouge">null</code>. Y utilizamos la comprobación:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">if</span> <span class="p">(</span><span class="k">isset</span><span class="p">(</span><span class="nv">$persona</span><span class="p">[</span><span class="s1">'trabajo'</span><span class="p">]))</span> <span class="p">{</span>
    <span class="k">echo</span> <span class="s1">'La clave trabajo existe en el diccionario'</span><span class="p">;</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
    <span class="k">echo</span> <span class="s1">'La clave trabajo NO existe en el diccionario'</span><span class="p">;</span>
<span class="p">}</span>
</code></pre></div></div>

<blockquote>
  <p>💻 Ejecuta este código en <a href="https://onecompiler.com/php/42eeye3c5">https://onecompiler.com/php/42eeye3c5</a></p>
</blockquote>

<p>Veremos que nos dice que la clave ‘trabajo’ no existe, cuando si que existe, pero con un valor <code class="language-plaintext highlighter-rouge">null</code>.</p>

<h3 id="comprobar-que-una-clave-existe-array_key_exists">Comprobar que una clave existe: array_key_exists()</h3>

<p>Para evitar los errores con las claves que tengan asociado el valor de <code class="language-plaintext highlighter-rouge">null</code> tenemos la alternativa, más recomendada, de la función <code class="language-plaintext highlighter-rouge">array_key_exists()</code> para comprobar que una clave existe dentro de un diccionario</p>

<p>La sintaxis de la función <code class="language-plaintext highlighter-rouge">array_key_exists()</code> es la siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">array_key_exists</span><span class="p">(</span><span class="s1">'clave'</span><span class="p">,</span> <span class="nv">$diccionario</span><span class="p">);</span>
</code></pre></div></div>

<p>La función recibe como primer parámetro el nombre de la clave de la que queremos conocer su existencia y como segundo parámetro la variable que contiene el diccionario sobre el que queremos realizar la comprobación.</p>

<p>En el caso de que exista la clave, la función <code class="language-plaintext highlighter-rouge">array_key_exists()</code> devolverá <code class="language-plaintext highlighter-rouge">true</code> y en el caso de que no exista la clave devolverá el valor <code class="language-plaintext highlighter-rouge">false</code>.</p>

<p>Por lo que volvemos a realizar la comprobación mediante el bucle <code class="language-plaintext highlighter-rouge">if</code> de si existe la cadena ‘trabajo’ en el diccionario:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">if</span> <span class="p">(</span><span class="nb">array_key_exists</span><span class="p">(</span><span class="s1">'trabajo'</span><span class="p">,</span> <span class="nv">$persona</span><span class="p">))</span> <span class="p">{</span>
    <span class="k">echo</span> <span class="s1">'La clave trabajo existe en el diccionario'</span><span class="p">;</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
    <span class="k">echo</span> <span class="s1">'La clavetrabajo NO existe en el diccionario'</span><span class="p">;</span>
<span class="p">}</span>
</code></pre></div></div>

<blockquote>
  <p>💻 Ejecuta este código en <a href="https://onecompiler.com/php/42ehgmkf7">https://onecompiler.com/php/42ehgmkf7</a></p>
</blockquote>

<p>Esta función devolverá <code class="language-plaintext highlighter-rouge">true</code> independientemente de si la clave existe con un valor <code class="language-plaintext highlighter-rouge">null</code> en el diccionario y <code class="language-plaintext highlighter-rouge">false</code> en caso contrario.</p>

<p>Por lo tanto es normal que combinemos el método <code class="language-plaintext highlighter-rouge">isset()</code> o el método <code class="language-plaintext highlighter-rouge">array_key_exists()</code> con el acceso a una clave del diccionario y así evitar que nos salte un error <code class="language-plaintext highlighter-rouge">E_NOTICE</code>.</p>

<p>En este caso el código quedaría de la siguiente forma:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code>	
<span class="nv">$persona</span> <span class="o">=</span> <span class="p">[</span>
	<span class="s1">'nombre'</span> <span class="o">=&gt;</span> <span class="s1">'Luis'</span><span class="p">,</span>
	<span class="s1">'edad'</span> <span class="o">=&gt;</span> <span class="mi">3</span><span class="p">,</span>
	<span class="s1">'sexo'</span> <span class="o">=&gt;</span> <span class="s1">'M'</span><span class="p">,</span>
	<span class="s1">'ciudad'</span> <span class="o">=&gt;</span> <span class="s1">'Barcelona'</span><span class="p">,</span>
	<span class="s1">'trabajo'</span> <span class="o">=&gt;</span> <span class="kc">null</span>
<span class="p">];</span>
	
<span class="k">if</span> <span class="p">(</span><span class="nb">array_key_exists</span><span class="p">(</span><span class="s1">'nombre'</span><span class="p">,</span> <span class="nv">$persona</span><span class="p">))</span> <span class="p">{</span>
	<span class="k">echo</span> <span class="nv">$persona</span><span class="p">[</span><span class="s1">'nombre'</span><span class="p">];</span>
<span class="p">}</span>
</code></pre></div></div>

<blockquote>
  <p>💻 Ejecuta este código en <a href="https://onecompiler.com/php/42ehh2cbc">https://onecompiler.com/php/42ehh2cbc</a></p>
</blockquote>

<h2 id="insertar-un-elemento-en-un-diccionario-en-php">Insertar un elemento en un diccionario en PHP</h2>

<p>Ya hemos visto cómo podemos acceder a las propiedades de un diccionario en <a href="https://www.manualweb.net/php/">PHP</a>, ahora vamos a ver cómo podemos insertar un elemento en un diccionario en <a href="https://www.manualweb.net/php/">PHP</a></p>

<p>Para poder insertar un elemento en un diccionario en <a href="https://www.manualweb.net/php/">PHP</a> seguiremos la siguiente sintaxis:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$diccionario</span><span class="p">[</span><span class="s1">'claveNueva'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'valorNuevo'</span><span class="p">;</span>
</code></pre></div></div>

<p>Lo que hacemos es poner dentro del operador corchete <code class="language-plaintext highlighter-rouge">[]</code> el nombre del nuevo elemento del diccionario y le asignamos el valor.</p>

<p>De esta forma podemos añadir al diccionario de persona un nuevo elemento que sea “altura” mediante el siguiente código:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$persona</span> <span class="o">=</span> <span class="p">[</span>
  <span class="s1">'nombre'</span> <span class="o">=&gt;</span> <span class="s1">'Luis'</span><span class="p">,</span>
  <span class="s1">'edad'</span> <span class="o">=&gt;</span> <span class="mi">3</span><span class="p">,</span>
  <span class="s1">'sexo'</span> <span class="o">=&gt;</span> <span class="s1">'M'</span><span class="p">,</span>
  <span class="s1">'ciudad'</span> <span class="o">=&gt;</span> <span class="s1">'Barcelona'</span><span class="p">,</span>
  <span class="s1">'trabajo'</span> <span class="o">=&gt;</span> <span class="kc">null</span>
<span class="p">];</span>

<span class="nv">$persona</span><span class="p">[</span><span class="s1">'altura'</span><span class="p">]</span> <span class="o">=</span> <span class="mi">100</span><span class="p">;</span>

<span class="k">foreach</span> <span class="p">(</span><span class="nb">array_keys</span><span class="p">(</span><span class="nv">$persona</span><span class="p">)</span> <span class="k">as</span> <span class="nv">$clave</span><span class="p">)</span> <span class="p">{</span>
  <span class="k">echo</span> <span class="s2">"Clave '"</span><span class="mf">.</span><span class="nv">$clave</span><span class="mf">.</span><span class="s2">"' con valor "</span><span class="mf">.</span><span class="nv">$persona</span><span class="p">[</span><span class="nv">$clave</span><span class="p">]</span><span class="mf">.</span><span class="s2">"</span><span class="se">\n</span><span class="s2">"</span><span class="p">;</span>
<span class="p">}</span>
</code></pre></div></div>

<blockquote>
  <p>💻 Ejecuta este código en <a href="https://onecompiler.com/php/42ehhbmt8">https://onecompiler.com/php/42ehhbmt8</a></p>
</blockquote>

<h2 id="actualizar-elementos-en-un-diccionario-en-php">Actualizar elementos en un diccionario en PHP</h2>

<p>Si queremos actualizar un elemento dentro de un diccionario en <a href="https://www.manualweb.net/php/">PHP</a> lo que tendremos que hacer es acceder al elemento mediante su clave y el operador corchete <code class="language-plaintext highlighter-rouge">[]</code>. La sintaxis para actualizar elementos en un diccionario en <a href="https://www.manualweb.net/php/">PHP</a> sería la siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$diccionario</span><span class="p">[</span><span class="s1">'clave'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'nuevoValor'</span><span class="p">;</span>

</code></pre></div></div>

<p>Simplemente usamos el operador de asignación <code class="language-plaintext highlighter-rouge">=</code> para establecer un nuevo valor para la clave específica. Si la clave ya existe en el diccionario, su valor se reemplazará con el nuevo valor. Si la clave no existe, se agregará al diccionario con el nuevo valor.</p>

<p>De esta manera, si quisiéramos actualizar el valor de la propiedad ‘edad’ de nuestro diccionario persona haríamos lo siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$persona</span><span class="p">[</span><span class="s1">'edad'</span><span class="p">]</span> <span class="o">=</span> <span class="mi">4</span><span class="p">;</span>
</code></pre></div></div>

<blockquote>
  <p>💻 Ejecuta este código en <a href="https://onecompiler.com/php/42ejj5a4w">https://onecompiler.com/php/42ejj5a4w</a></p>
</blockquote>

<p>Con este sencillo código habremos cambiado la edad de la persona de 3 a 4 años.</p>

<h2 id="eliminar-elementos-de-un-diccionario-php">Eliminar elementos de un diccionario PHP</h2>

<p>Por último vamos a ver cómo podemos eliminar elementos de un diccionario <a href="https://www.manualweb.net/php/">PHP</a>. Ya vimos que <a href="https://manualweb.net/php/manejar-arrays-en-php/">con los arrays indexados teníamos dos alternativas para eliminar elementos de un array</a>, una era utilizar la función <code class="language-plaintext highlighter-rouge">unset()</code> y otra era utilizar la función <code class="language-plaintext highlighter-rouge">array_splice()</code>.</p>

<p>En el caso de los diccionarios PHP podemos utilizar ambas funciones, pero como en este caso no accedemos y no necesitemos una reindexación del array nos centraremos en la función <code class="language-plaintext highlighter-rouge">unset()</code>.</p>

<p>La sintaxis de la función <code class="language-plaintext highlighter-rouge">unset()</code> para poder eliminar un elemento de un diccionario <a href="https://www.manualweb.net/php/">PHP</a> será la siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">unset</span><span class="p">(</span><span class="nv">$diccionario</span><span class="p">[</span><span class="s1">'clave'</span><span class="p">]);</span>
</code></pre></div></div>

<p>Con esto, borraríamos del diccionario el elemento que tuviese asociado la clave ‘clave’. Así, si quisiéramos eliminar la ciudad de nuestro diccionario persona, tendríamos que hacer lo siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">unset</span><span class="p">(</span><span class="nv">$persona</span><span class="p">[</span><span class="s1">'ciudad'</span><span class="p">]);</span>
</code></pre></div></div>

<blockquote>
  <p>💻 Ejecuta este código en <a href="https://onecompiler.com/php/42ejjpm8h">https://onecompiler.com/php/42ejjpm8h</a></p>
</blockquote>]]></content><author><name>manual_web</name></author><category term="diccionario" /><category term="unset" /><category term="array_keys" /><category term="array_key_exists" /><summary type="html"><![CDATA[Cómo definir diccionarios en PHP y manipularlos para poder acceder, actualizar y borrar sus elementos mediante sus claves.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.manualweb.net/img/covers/php-cover.webp" /><media:content medium="image" url="https://www.manualweb.net/img/covers/php-cover.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Manejar Arrays en PHP</title><link href="https://www.manualweb.net/php/manejar-arrays-en-php/" rel="alternate" type="text/html" title="Manejar Arrays en PHP" /><published>2024-05-27T00:00:00+02:00</published><updated>2024-05-27T00:00:00+02:00</updated><id>https://www.manualweb.net/php/manejar-arrays-en-php</id><content type="html" xml:base="https://www.manualweb.net/php/manejar-arrays-en-php/"><![CDATA[<p>Una vez que hemos aprendido lo <a href="https://manualweb.net/php/arrays-en-php/">qué son los arrays en PHP y cómo crear un array en PHP</a> vamos a ver cómo podemos manipular los <a href="https://manualweb.net/php/arrays-en-php/">arrays en PHP</a>. Es decir, cómo podemos insertar un elemento en un array, cómo acceder a un elemento del array, cómo actualizar el elemento de un array y cómo eliminar un elemento de un array.</p>

<h2 id="acceder-a-un-elemento-de-un-array-php">Acceder a un elemento de un array PHP</h2>

<p>Si hemos definido <strong>un array indexado en PHP</strong> tenemos que saber que los elementos se identifican de forma numérica. Es decir, podemos manipular el array mediante <strong>valores de sus índices</strong>.</p>

<p>Para ello el primer elemento del array es el equivalente al valor de índice 0, el segundo elemento equivale al valor de índice de 1, así sucesivamente hasta que el último elemento del array corresponde al valor de índice N-1, dónde N es el número de elementos del array.</p>

<p>Para acceder a un elemento de un <a href="https://manualweb.net/php/arrays-en-php/">array PHP</a> nos apoyamos en el operador corchete <code class="language-plaintext highlighter-rouge">[]</code>, dicho operador lo aplicamos sobre el nombre de la variable sobre la que hemos definido el array, pasando como valor del operador el número del índice del elemento del array.</p>

<p>La sintaxis para acceder a un elemento de un <a href="https://manualweb.net/php/arrays-en-php/">array PHP</a> mediante el operador corchete <code class="language-plaintext highlighter-rouge">[]</code> será la siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$array</span><span class="p">[</span><span class="n">indice</span><span class="p">];</span>
</code></pre></div></div>

<p>De esta manera podremos acceder a todos los elementos del array siguiendo la siguiente estructura de índices.</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$array</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span> <span class="c1">// Primer Elemento</span>
<span class="nv">$array</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span> <span class="c1">// Segundo Elemento</span>
<span class="nv">$array</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span> <span class="c1">// Tercer Elemento</span>
<span class="mf">...</span>
<span class="nv">$array</span><span class="p">[</span><span class="nc">N</span><span class="o">-</span><span class="mi">1</span><span class="p">];</span> <span class="c1">// Último Elemento</span>
</code></pre></div></div>

<p>Si utilizamos nuestro array de nombres que habíamos definido podremos acceder a los elementos de la siguiente forma:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$personas</span> <span class="o">=</span> <span class="k">array</span><span class="p">(</span><span class="s2">"Luis"</span><span class="p">,</span><span class="s2">"Francico"</span><span class="p">,</span><span class="s2">"Javier"</span><span class="p">,</span><span class="s2">"Marta"</span><span class="p">,</span><span class="s2">"Virginia"</span><span class="p">);</span>
<span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span>  <span class="c1">// Luis</span>
<span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>  <span class="c1">// Francisco</span>
<span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>  <span class="c1">// Javier</span>
<span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">3</span><span class="p">];</span>  <span class="c1">// Marta</span>
<span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">4</span><span class="p">];</span>  <span class="c1">// Virginia</span>
</code></pre></div></div>

<h2 id="insertar-elementos-en-un-array-php">Insertar elementos en un array PHP</h2>

<p>Hasta ahora hemos visto cómo <a href="https://manualweb.net/php/arrays-en-php/">crear un array en PHP</a> y cargar los valores en su definición, bien fuese creándolo mediante la función <code class="language-plaintext highlighter-rouge">array()</code> o bien fuese creándolo mediante el operador corchete <code class="language-plaintext highlighter-rouge">[]</code>.</p>

<p>Pero tenemos que saber que también se pueden insertar elementos en un <a href="https://manualweb.net/php/arrays-en-php/">array PHP</a> una vez que este se ha creado. Para ello simplemente tendremos que acceder al array mediante el operador corchete <code class="language-plaintext highlighter-rouge">[]</code> indicando la posición en la que queremos insertar el nuevo elemento y asignarle el valor mediante un operador igual.</p>

<p>La sintaxis para poder insertar elementos en un <a href="https://manualweb.net/php/arrays-en-php/">array PHP</a> será la siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$array</span><span class="p">[</span><span class="n">indice</span><span class="p">]</span> <span class="o">=</span> <span class="n">valor</span><span class="p">;</span>
</code></pre></div></div>

<p>Mediante esta sintaxis añadimos el valor en la posición del índice seleccionada. Por lo tanto en nuestro array de nombres de personas podemos insertar un nuevo elemento de la siguiente forma:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$personas</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"Sonsoles"</span><span class="p">;</span>  <span class="c1">// Insertamos el valor de "Sonsoles"</span>
</code></pre></div></div>

<p>Pero, qué sucede si queremos insertar un elemento dentro de nuestro <a href="https://manualweb.net/php/arrays-en-php/">array PHP</a> pero no sabemos el número de elementos que lo componen. En este caso podemos insertar el valor en el final del array sin especificar el valor del índice dentro del operador corchete <code class="language-plaintext highlighter-rouge">[]</code>.</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$array</span><span class="p">[]</span> <span class="o">=</span> <span class="s2">"nuevo valor"</span><span class="p">;</span> <span class="c1">// Inserta "nuevo valor" al final del array</span>
</code></pre></div></div>

<p>Por lo que para insertar el valor al final de nuestro array de nombres de personas lo que haremos será utilizar la siguiente <a href="https://lineadecodigo.com/">línea de código</a>:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$personas</span><span class="p">[]</span> <span class="o">=</span> <span class="s2">"José"</span><span class="p">;</span>  <span class="c1">// Insertamos el valor de "José" al final del array</span>
</code></pre></div></div>

<h2 id="actualizar-elementos-en-un-array-php">Actualizar elementos en un array PHP</h2>

<p>De la misma manera que hemos utilizado el operador corchete <code class="language-plaintext highlighter-rouge">[]</code> para poder insertar elementos, podemos utilizar el operador corchete <code class="language-plaintext highlighter-rouge">[]</code> para actualizar elementos en un <a href="https://manualweb.net/php/arrays-en-php/">array PHP</a>.</p>

<p>Lo que haremos será indicar mediante el índice del operador corchete <code class="language-plaintext highlighter-rouge">[]</code> la posición que queremos actualizar y le asignaremos el nuevo valor. La sintaxis para actualizar elementos en un <a href="https://manualweb.net/php/arrays-en-php/">array PHP</a> es la siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$array</span><span class="p">[</span><span class="n">indice</span><span class="p">]</span> <span class="o">=</span> <span class="n">nuevo_valor</span><span class="p">;</span>
</code></pre></div></div>

<p>De esta manera, si volvemos a nuestra lista de nombres podremos actualizar el segundo elemento de la siguiente forma:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$personas</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"Víctor"</span><span class="p">;</span>  <span class="c1">// Actualizamos el segundo elemento con el valor "Víctor"</span>
</code></pre></div></div>

<h2 id="eliminar-elementos-de-un-array-php">Eliminar elementos de un array PHP</h2>

<p>Lo siguiente que vamos a ver en este artículo sobre manejar <a href="https://manualweb.net/php/arrays-en-php/">arrays en PHP</a> será el saber cómo podemos eliminar elementos de un <a href="https://manualweb.net/php/arrays-en-php/">array PHP</a>.</p>

<h3 id="eliminar-elementos-de-un-array-con-la-función-unset">Eliminar elementos de un array con la función unset()</h3>

<p>Para eliminar un elemento de un <a href="https://manualweb.net/php/arrays-en-php/">array en PHP</a> se utiliza la función <code class="language-plaintext highlighter-rouge">unset()</code>. En este caso pasamos el elemento que queremos eliminar como parámetro. Para ello utilizamos la forma de acceder a un elemento de un array.</p>

<p>La sintaxis de la función <code class="language-plaintext highlighter-rouge">unset()</code> es la siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">unset</span><span class="p">(</span><span class="nv">$array</span><span class="p">[</span><span class="n">indice</span><span class="p">]);</span>

</code></pre></div></div>

<p>De esta manera, para eliminar el tercer elemento de nuestra lista de nombres, mediante la función <code class="language-plaintext highlighter-rouge">unset()</code>, lo haríamos de la siguiente forma:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">unset</span><span class="p">(</span><span class="nv">$personas</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span>  <span class="c1">// Elimina el tercer elemento del array</span>
</code></pre></div></div>

<p>El problema de la función <code class="language-plaintext highlighter-rouge">unset()</code> es que no reindexa el array. Es decir, al eliminar uno de los índices este desaparece y no queda asignado. Lo cual puede complicar procesos posteriores en los que necesitemos recorrer el array de forma secuencial.</p>

<p>Para ver su efecto, si partimos del siguiente <a href="https://manualweb.net/php/arrays-en-php/">array en PHP</a>:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span>  <span class="c1">// Luis</span>
<span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>  <span class="c1">// Francisco</span>
<span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>  <span class="c1">// Javier</span>
<span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">3</span><span class="p">];</span>  <span class="c1">// Marta</span>
<span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">4</span><span class="p">];</span>  <span class="c1">// Virginia</span>
</code></pre></div></div>

<p>Y ejecutamos la función <code class="language-plaintext highlighter-rouge">unset()</code> sobre el elemento del primer índice:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">unset</span><span class="p">(</span><span class="nv">$personas</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
</code></pre></div></div>

<p>Los índices de nuestro array de personas quedarán de la siguiente forma:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span>  <span class="c1">// Luis</span>
<span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>  <span class="c1">// Undefined offset: 1 </span>
<span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>  <span class="c1">// Javier</span>
<span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">4</span><span class="p">];</span>  <span class="c1">// Virginia</span>
</code></pre></div></div>

<p>Como podemos comprobar el índice “1” está sin definir al haberlo borrado.</p>

<h3 id="eliminar-elementos-de-un-array-con-la-función-array_splice">Eliminar elementos de un array con la función array_splice()</h3>

<p>Otra forma que tenemos de eliminar elementos de un <a href="https://manualweb.net/php/arrays-en-php/">array PHP</a> es utilizando la función <code class="language-plaintext highlighter-rouge">array_splice()</code>. A la función <code class="language-plaintext highlighter-rouge">array_splice()</code> se le pasa el array sobre el que queremos eliminar un elemento, el índice sobre el que queremos empezar a eliminar los elementos y el número de elementos que queremos eliminar.</p>

<p>La sintaxis de la función <code class="language-plaintext highlighter-rouge">array_splice()</code> es la siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">array_splice</span><span class="p">(</span><span class="nv">$array</span><span class="p">,</span> <span class="n">inicio</span><span class="p">,</span> <span class="n">longitud</span><span class="p">);</span>
</code></pre></div></div>

<p>Por ejemplo, para eliminar el tercer elemento de nuestra lista de nombres, utilizaríamos la función <code class="language-plaintext highlighter-rouge">array_splice()</code> de la siguiente manera:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">array_splice</span><span class="p">(</span><span class="nv">$personas</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>  <span class="c1">// Elimina el primer elemento del array</span>
</code></pre></div></div>

<p>La función <code class="language-plaintext highlighter-rouge">array_splice()</code>, a diferencia de <code class="language-plaintext highlighter-rouge">unset()</code>, sí reindexa los elementos del array. Por lo que los índices se recolocan en los elementos que quedan resultado del borrado de un elemento.</p>

<p>Para ver en funcionamiento la función <code class="language-plaintext highlighter-rouge">array_splice()</code> vamos a repetir el mismo código que antes. Así que partimos del mismo array de nombres de personas:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span>  <span class="c1">// Luis</span>
<span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>  <span class="c1">// Francisco</span>
<span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>  <span class="c1">// Javier</span>
<span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">3</span><span class="p">];</span>  <span class="c1">// Marta</span>
<span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">4</span><span class="p">];</span>  <span class="c1">// Virginia</span>
</code></pre></div></div>

<p>Lo siguiente que haremos será eliminar el elemento que se encuentra en la posición 1. Es decir, el segundo elemento de la lista. para ello utilizamos la función <code class="language-plaintext highlighter-rouge">arrray_splice()</code> mediante la siguiente <a href="https://lineadecodigo.com/">línea de código</a>:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">array_splice</span><span class="p">(</span><span class="nv">$personas</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">);</span>
</code></pre></div></div>

<p>Y, al producirse el reindexado, se verá que los indices quedan con la siguiente forma:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">0</span><span class="p">];</span>  <span class="c1">// Luis</span>
<span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>  <span class="c1">// Javier</span>
<span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>  <span class="c1">// Marta</span>
<span class="k">echo</span> <span class="nv">$personas</span><span class="p">[</span><span class="mi">3</span><span class="p">];</span>  <span class="c1">// Virginia</span>
</code></pre></div></div>

<p>Con toda esta información seguro que ahora eres capaz de manejar <a href="https://manualweb.net/php/arrays-en-php/">arrays en PHP</a> mucho mejor.</p>]]></content><author><name>manual_web</name></author><category term="array" /><category term="array indexado" /><summary type="html"><![CDATA[Ejemplo que nos ayuda a manejar array en PHP realizando las operaciones de inserción, actualización y borrado de elementos.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.manualweb.net/img/covers/php-cover.webp" /><media:content medium="image" url="https://www.manualweb.net/img/covers/php-cover.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Arrays en PHP</title><link href="https://www.manualweb.net/php/arrays-en-php/" rel="alternate" type="text/html" title="Arrays en PHP" /><published>2024-05-26T00:00:00+02:00</published><updated>2024-05-26T00:00:00+02:00</updated><id>https://www.manualweb.net/php/arrays-en-php</id><content type="html" xml:base="https://www.manualweb.net/php/arrays-en-php/"><![CDATA[<h2 id="qué-son-los-arrays-en-php">¿Qué son los arrays en PHP?</h2>

<p>Los arrays en <a href="https://www.manualweb.net/php/">PHP</a> son una <strong>estructura de datos que nos permite almacenar múltiples valores en una sola variable</strong>, es decir, una lista de elementos. Los arrays en <a href="https://www.manualweb.net/php/">PHP</a> son una <strong>colección ordenada de elementos</strong>, los cuales pueden ser de cualquier tipo: números, cadenas de texto, objetos e incluso otros arrays para poder crear arrays multidimensionales o matrices.</p>

<p>Los arrays en <a href="https://www.manualweb.net/php/">PHP</a> pueden almacenar información directamente como si fuese una lista de elementos, que es lo que se conoce como un <strong>array indexado</strong> o bien pueden ser creados mediante pares clave/valor, lo que nos permite crear <strong>arrays asociativos o diccionarios</strong>.</p>

<p>En el caso de los arrays indexados <strong>accederemos al valor de los elementos mediante un valor numérico de índice</strong> y en el caso de los arrays asociativos o diccionarios podremos a<strong>cceder a los elementos del array mediante el valor de su clave</strong>.</p>

<h2 id="crear-un-array-en-php">Crear un array en PHP</h2>

<p>Lo primero que tenemos que conocer en el mundo de los arrays en <a href="https://www.manualweb.net/php/">PHP</a> es cómo podemos crear un array en <a href="https://www.manualweb.net/php/">PHP</a>. Para crear un array en <a href="https://www.manualweb.net/php/">PHP</a> existen dos formas: por un lado sería utilizando la función <code class="language-plaintext highlighter-rouge">array()</code> y por otro sería utilizando el operador corchetes <code class="language-plaintext highlighter-rouge">[]</code>.</p>

<h3 id="crear-un-array-en-php-mediante-la-función-array">Crear un array en PHP mediante la función array()</h3>

<p>Para poder crear un array en <a href="https://www.manualweb.net/php/">PHP</a> mediante la función <code class="language-plaintext highlighter-rouge">array()</code> tenemos que saber que esta función aceptará como parámetro cualquier número de argumentos, los cuales serán los elementos del array.</p>

<p>La sintaxis para crear un array en <a href="https://www.manualweb.net/php/">PHP</a> mediante la función <code class="language-plaintext highlighter-rouge">array()</code> será la siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$array</span> <span class="o">=</span> <span class="k">array</span><span class="p">(</span>
  <span class="n">clave</span>  <span class="o">=&gt;</span> <span class="n">valor</span><span class="p">,</span>
  <span class="n">clave2</span> <span class="o">=&gt;</span> <span class="n">valor2</span><span class="p">,</span>
  <span class="n">clave3</span> <span class="o">=&gt;</span> <span class="n">valor3</span><span class="p">,</span>
  <span class="mf">...</span>
<span class="p">);</span>
</code></pre></div></div>

<p>En este caso vemos que los parámetros del array los definimos mediante pares de clave/valor. Esto lo utilizaremos para los <strong>arrays asociativos o diccionarios</strong>. Si bien podemos utilizar la sintaxis de solo pasar los valores en el caso de que sea un <strong>array indexado</strong>. En este caso la sintaxis será la siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$array</span> <span class="o">=</span> <span class="k">array</span><span class="p">(</span>
  <span class="n">valor</span><span class="p">,</span>
  <span class="n">valor2</span><span class="p">,</span>
  <span class="n">valor3</span><span class="p">,</span>
  <span class="mf">...</span>
<span class="p">);</span>
</code></pre></div></div>

<p>Con la siguiente sintaxis podríamos <strong>crear un array vacío en</strong> <a href="https://www.manualweb.net/php/"><strong>PHP</strong></a> de la siguiente forma:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$miarray</span> <span class="o">=</span> <span class="k">array</span><span class="p">();</span>
</code></pre></div></div>

<p>O podríamos <strong>crear un array de cadenas de texto en</strong> <a href="https://www.manualweb.net/php/"><strong>PHP</strong></a>, en el que almacenemos nombres de personas utilizando el siguiente código:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$personas</span> <span class="o">=</span> <span class="k">array</span><span class="p">(</span><span class="s2">"Luis"</span><span class="p">,</span><span class="s2">"Francico"</span><span class="p">,</span><span class="s2">"Javier"</span><span class="p">,</span><span class="s2">"Marta"</span><span class="p">,</span><span class="s2">"Virginia"</span><span class="p">);</span>
</code></pre></div></div>

<h3 id="crear-un-array-en-php-mediante-el-operador-corchete-">Crear un array en PHP mediante el operador corchete []</h3>

<p>La otra forma que tenemos para poder crear un array en <a href="https://www.manualweb.net/php/">PHP</a> es hacerlo mediante el operador corchete <code class="language-plaintext highlighter-rouge">[]</code>. En este caso los parámetros se componen mediante una lista de elemento separados por comas dentro del operador corchete <code class="language-plaintext highlighter-rouge">[]</code>.</p>

<p>La sintaxis para crear un array en <a href="https://www.manualweb.net/php/">PHP</a> mediante el operador corchete <code class="language-plaintext highlighter-rouge">[]</code> será la siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$array</span> <span class="o">=</span> <span class="p">[</span>
  <span class="n">clave</span>  <span class="o">=&gt;</span> <span class="n">valor</span><span class="p">,</span>
  <span class="n">clave2</span> <span class="o">=&gt;</span> <span class="n">valor2</span><span class="p">,</span>
  <span class="n">clave3</span> <span class="o">=&gt;</span> <span class="n">valor3</span><span class="p">,</span>
  <span class="mf">...</span>
<span class="p">];</span>
</code></pre></div></div>

<p>Nuevamente esta es la formula para poder crear un <strong>array asociativo o diccionario</strong> y tendremos una sintaxis para poder crear el array mediante el operador corchete para que sea un array indexado.</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$array</span> <span class="o">=</span> <span class="p">[</span>
  <span class="n">valor</span><span class="p">,</span>
  <span class="n">valor2</span><span class="p">,</span>
  <span class="n">valor3</span><span class="p">,</span>
  <span class="mf">...</span>
<span class="p">];</span>
</code></pre></div></div>

<p>De esta manera se puede crear un array <a href="https://www.manualweb.net/php/">PHP</a> vacío mediante el operador corchete de la siguiente forma:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$miarray</span> <span class="o">=</span> <span class="p">[];</span>
</code></pre></div></div>

<p>O podríamos crear un array de cadenas de texto mediante el operador corchete <code class="language-plaintext highlighter-rouge">[]</code>, en el que almacenemos nombres de personas utilizando el siguiente código:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$personas</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"Luis"</span><span class="p">,</span><span class="s2">"Francico"</span><span class="p">,</span><span class="s2">"Javier"</span><span class="p">,</span><span class="s2">"Marta"</span><span class="p">,</span><span class="s2">"Virginia"</span><span class="p">];</span>
</code></pre></div></div>

<h2 id="usos-de-los-arrays-php">Usos de los arrays PHP</h2>

<p>Dentro de nuestro <a href="https://lineadecodigo.com/categoria/php/">código en PHP</a>, los arrays son estructuras muy útiles y versátiles que podemos utilizar pàra resolver múltiples situaciones. Entre estos usos de los arrays <a href="https://www.manualweb.net/php/">PHP</a> encontramos los siguientes:</p>

<h3 id="almacenar-lista-de-información-mediante-el-uso-de-arrays">Almacenar lista de información mediante el uso de arrays</h3>

<p>Los arrays nos permiten almacenar una lista de información, ya sea que contenga números, caracteres, cadenas de texto, entre otros. Esta capacidad de almacenamiento es particularmente útil cuando nos encontramos trabajando con conjuntos grandes de datos que necesitamos organizar y gestionar de manera eficiente.</p>

<p>Los arrays nos otorgan la ventaja de poder acceder a cada elemento individual de la lista de información mediante su índice, lo que facilita la manipulación y el procesamiento de los datos. Esto es especialmente útil en situaciones donde necesitamos realizar operaciones repetitivas sobre un conjunto de datos, ya que nos permite automatizar y optimizar dichos procesos.</p>

<h3 id="implementar-una-cola">Implementar una cola</h3>

<p>Los arrays también pueden ser utilizados para implementar otra estructura de datos importante conocida como una cola. Una cola, al igual que una fila real, <strong>funciona bajo el principio de “primero en entrar, primero en salir” (FIFO - First In First Out)</strong>. A través de este tipo de estructura de datos, podemos gestionar y organizar elementos en un orden específico, lo que puede ser especialmente útil en ciertos tipos de operaciones o algoritmos.</p>

<p>En el caso de las colas, tendremos que diseñar y desarrollar métodos específicos para poder insertar o eliminar elementos en la cola. Estos métodos, llamados encolar y desencolar, permiten añadir elementos al final de la cola y eliminarlos desde el principio, respectivamente, asegurando así el comportamiento FIFO de la cola.</p>

<h3 id="estructuras-complejas-de-árboles">Estructuras complejas de árboles</h3>

<p>Las estructuras de datos de los arrays nos brindan la capacidad de crear estructuras complejas de árboles. Estas estructuras de árboles son particularmente útiles en una variedad de contextos, especialmente en la representación de relaciones jerárquicas. Además, estas estructuras de árboles permiten la representación de estructuras de datos no lineales, lo que amplía aún más su aplicabilidad y utilidad en diferentes áreas de programación y análisis de datos.</p>

<h3 id="crear-matrices-o-tablas-de-datos">Crear matrices o tablas de datos</h3>

<p>Otro caso de uso de los arrays en <a href="https://www.manualweb.net/php/">PHP</a> es la creación de matrices o tablas de datos. Esta funcionalidad nos proporciona la capacidad de trabajar con <strong>información en un formato bidimensional</strong>. Este formato bidimensional es equivalente a una tabla con filas y columnas, lo que nos da una forma visualmente intuitiva y organizada de manejar nuestra información. En muchos contextos, especialmente en el manejo de bases de datos, esta característica puede ser extremadamente útil. Nos permite manipular, ordenar y acceder a los datos de manera más eficiente y sistemática.</p>

<h3 id="manipulación-de-datos-en-la-base-de-datos">Manipulación de datos en la base de datos</h3>

<p>Los arrays nos proporcionan la capacidad de realizar una serie de operaciones cruciales con los datos almacenados en nuestras bases de datos. Estas operaciones incluyen la <strong>inserción de nuevos datos en la base de datos</strong>. Almacenar información en arrays nos permite agregar fácilmente nuevos registros en nuestras tablas de datos.</p>

<p>La <strong>actualización de los datos existentes en la base de datos</strong> también es posible con el uso de arrays. Podemos buscar la información relevante en nuestra base de datos, modificar los valores según sea necesario, y luego actualizar los registros con nuestros nuevos valores.</p>

<p>Finalmente, los arrays también nos permiten eliminar datos de nuestras bases de datos. Podemos buscar y seleccionar los registros que queremos eliminar, y luego usar nuestras funciones de array para eliminarlos de la base de datos.</p>

<h3 id="creación-de-estructuras-de-datos-json-en-php">Creación de Estructuras de Datos JSON en PHP</h3>

<p>Los arrays en <a href="https://www.manualweb.net/php/">PHP</a> son esenciales al momento de trabajar con datos JSON. Podemos <strong>convertir arrays en</strong> <a href="https://www.manualweb.net/php/"><strong>PHP</strong></a> <strong>a formato JSON</strong> utilizando la función <code class="language-plaintext highlighter-rouge">json_encode()</code>. Esta funcionalidad es especialmente útil al <a href="https://arquitectoit.com/api-management/que-es-una-api/">construir aplicaciones web que utilizan APIs REST</a>, donde los datos JSON a menudo necesitan ser enviados y recibidos.</p>]]></content><author><name>manual_web</name></author><category term="array" /><category term="matrices" /><category term="json" /><category term="array indexado" /><category term="diccionario" /><summary type="html"><![CDATA[Los arrays en PHP son una estructura de datos que nos permite almacenar múltiples valores en una sola variable, teniendo una colección ordenada de elementos.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.manualweb.net/img/covers/php-cover.webp" /><media:content medium="image" url="https://www.manualweb.net/img/covers/php-cover.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Introducción PHP</title><link href="https://www.manualweb.net/php/introduccion-php/" rel="alternate" type="text/html" title="Introducción PHP" /><published>2024-05-20T00:00:00+02:00</published><updated>2024-05-20T00:00:00+02:00</updated><id>https://www.manualweb.net/php/introduccion-php</id><content type="html" xml:base="https://www.manualweb.net/php/introduccion-php/"><![CDATA[<p>Esta <strong>introducción PHP</strong> pretende explicar qué es <a href="https://www.manualweb.net/php/">PHP</a>, ver cómo es un código <a href="https://www.manualweb.net/php/">PHP</a> así como conocer cuáles son sus usos más destacados de este lenguaje de programación.</p>

<h2 id="qué-es-php">¿Qué es PHP?</h2>

<p><a href="https://t.co/NxL06vaL6Q">PHP</a> o <a href="https://www.manualweb.net/php/">PHP: Hypertext Preprocessor</a> es un <strong>lenguaje de script interpretado de alto nivel</strong> que se ejecuta normalmente en el lado del servidor y se enfoca a los desarrollos web. Es decir, mediante <a href="https://www.manualweb.net/php/">PHP</a> podremos crear páginas web dinámicas o servicios que pueden devolver valores de negocio.</p>

<p><a href="https://t.co/NxL06vaL6Q">PHP</a> fue creado en 1994 por <em>Rasmus Lerdorf</em>, desde entonces ha conseguido convertirse en uno de los lenguajes de programación más utilizados para el desarrollo web. Disponiendo de una amplia comunidad que podemos consultar en <a href="https://www.php.net/">PHP.net</a>.</p>

<p>Cuando utilizamos <a href="https://t.co/NxL06vaL6Q">PHP</a> normalmente se suele ejecutar <strong>scripts del lado del servidor</strong> dentro de un servidor web, por lo que nos sirve principalmente para r_ecuperar y procesar información de formularios_, <em>generar páginas web dinámicas</em>, <em>acceder a bases de datos para recuperar información</em> o <em>gestionar cookies de páginas web</em>.</p>

<p>Si bien es verdad que podemos utilizar <a href="https://t.co/NxL06vaL6Q">PHP</a> desde el <strong>lado de cliente</strong> para realizar operaciones, así como desde la <strong>línea de comandos</strong>.</p>

<p>Dentro de las características de PHP encontramos su simplicidad y facilidad de uso con una curva de aprendizaje sencilla, que es código abierto u opensource, la compatibilidad multiplaforma y de sistemas operativos, los accesos a bases de datos, su escalabilidad y flexibilidad así como una amplia comunidad de usuarios.</p>

<h2 id="funcionamiento-de-php">Funcionamiento de PHP</h2>

<p>El funcionamiento de <a href="https://www.manualweb.net/php/">PHP</a> es que el código <a href="https://www.manualweb.net/php/">PHP</a> se interpreta en el servidor por parte de un interprete <a href="https://www.manualweb.net/php/">PHP</a> que suele estar dentro de un <strong>servidor web</strong> o en un <strong>CGI (Common Gateway Interface)</strong>.</p>

<p>El código <a href="https://www.manualweb.net/php/">PHP</a> se puede definir directamente en un fichero o bien incrustado dentro de una página <a href="https://www.manualweb.net/html/">HTML</a>, lo que simplifica y reduce el código que se tiene que devolver a la hora de tener una página web.</p>

<p>Así podremos encontrar el siguiente código fuente <a href="https://www.manualweb.net/php/">PHP</a>:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cp">&lt;?php</span>
  <span class="k">echo</span> <span class="s2">"Hola Mundo"</span><span class="p">;</span>
<span class="cp">?&gt;</span>
</code></pre></div></div>

<p>O el código <a href="https://www.manualweb.net/php/">PHP</a> incrustado dentro de la página <a href="https://www.manualweb.net/html/">HTML</a>:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cp">&lt;!doctype html&gt;</span>
<span class="nt">&lt;html&gt;</span>
<span class="nt">&lt;head&gt;</span>
  <span class="nt">&lt;title&gt;</span>Página HTML con PHP<span class="nt">&lt;/title&gt;</span>
<span class="nt">&lt;/head&gt;</span>
<span class="nt">&lt;body&gt;</span>

  <span class="cp">&lt;?php</span>
    <span class="k">echo</span> <span class="s2">"Hola Mundo"</span><span class="p">;</span>
  <span class="cp">?&gt;</span>

<span class="nt">&lt;/body&gt;</span>
<span class="nt">&lt;/html&gt;</span>
</code></pre></div></div>

<p>Como se puede ver el <a href="https://lineadecodigo.com/categoria/php/">código PHP</a> se incrusta dentro de las etiquetas <code class="language-plaintext highlighter-rouge">&lt;?php</code> y <code class="language-plaintext highlighter-rouge">?&gt;</code></p>

<h2 id="usos-de-php">Usos de PHP</h2>

<p>A día de hoy tenemos muchos usos de <a href="https://t.co/NxL06vaL6Q">PHP</a> en la web. Y es <a href="https://t.co/NxL06vaL6Q"><strong>PHP</strong></a> <strong>es la base de una gran cantidad de las páginas o sitios web que encontramos en Internet.</strong> Desde nuestro propio sitio web hasta la aplicación más avanzada.</p>

<p>Cuando hablamos de aplicaciones web construidas con <a href="https://t.co/NxL06vaL6Q">PHP</a>, nos encontramos con una amplia variedad de opciones y usos. Entre las más destacadas encontramos:</p>

<ul>
  <li><strong>Gestores de Contenido o CMS</strong>: Se trata de sistemas que permiten la creación y administración de contenidos de manera sencilla y sin necesidad de conocimientos técnicos avanzados. Dentro de esta categoría, encontramos ejemplos tan conocidos y utilizados como <em>Wordpress, Drupal o Joomla</em>.</li>
  <li><strong>Comercio Electrónico o eCommerce</strong>: <a href="https://t.co/NxL06vaL6Q">PHP</a> también se utiliza en la creación de sitios web dedicados a la venta de productos o servicios en línea. Ejemplos notables de esto son <em>Magento</em> o <em>Prestashop</em>.</li>
  <li><strong>Herramientas de Gestión de Foros</strong>: La posibilidad de crear y gestionar foros es otro de los usos de <a href="https://t.co/NxL06vaL6Q">PHP</a>. Herramientas como <em>bbPress, vBulletin o Question2Answers</em> se basan en este lenguaje.</li>
  <li><strong>Redes Sociales</strong>: Muchas de las redes sociales que usamos a diario se construyen usando <a href="https://t.co/NxL06vaL6Q">PHP</a>. Un ejemplo famoso es <a href="https://www.ayudaenlaweb.com/redes-sociales/que-es-facebook/">Facebook</a>, que comenzó construyéndose en <a href="https://www.manualweb.net/php/">PHP</a>.</li>
  <li><strong>Wikis</strong>: Las wikis representan otro tipo de plataforma que obtienen gran beneficio del uso de <a href="https://t.co/NxL06vaL6Q">PHP</a>. Un claro y notable ejemplo de esto es la enciclopedia en línea más grande y popular del mundo, <em>Wikipedia</em>.</li>
  <li><strong>Plataformas de Educación o LMS</strong>: Finalmente, las plataformas de gestión de aprendizaje como Moodle también están construidas con <a href="https://t.co/NxL06vaL6Q">PHP</a>. Estas herramientas permiten la creación, administración y seguimiento de cursos en línea de manera eficiente.</li>
</ul>

<p>Como hemos visto en esta introducción a <a href="https://t.co/NxL06vaL6Q">PHP</a> la versatilidad de este lenguaje permite crear casi cualquier tipo de aplicación web, así como desarrollar aplicaciones. Así que os animo que no dejéis de consultar su web en <a href="https://www.php.net/">PHP.net</a> y descargar la documentación de PHP.</p>

<p>Ahora iremos entrando en cada uno de los puntos de este lenguaje de programación a lo largo de este <a href="https://www.manualweb.net/php/">manual de PHP</a>.</p>]]></content><author><name>manual_web</name></author><category term="php" /><category term="base de datos" /><category term="opensource" /><category term="multiplataforma" /><category term="servidor web" /><category term="cgi" /><category term="redes sociales" /><category term="ecommerce" /><category term="lms" /><category term="cms" /><summary type="html"><![CDATA[Esta introducción PHP pretende explicar qué es PHP, ver cómo es un código PHP así como conocer cuáles son sus usos más destacados.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.manualweb.net/img/covers/php-cover.webp" /><media:content medium="image" url="https://www.manualweb.net/img/covers/php-cover.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Programación Orientada a Objetos en PHP</title><link href="https://www.manualweb.net/php/programacion-orientada-a-objetos-en-php/" rel="alternate" type="text/html" title="Programación Orientada a Objetos en PHP" /><published>2024-05-19T00:00:00+02:00</published><updated>2024-05-19T00:00:00+02:00</updated><id>https://www.manualweb.net/php/programacion-orientada-a-objetos-en-php</id><content type="html" xml:base="https://www.manualweb.net/php/programacion-orientada-a-objetos-en-php/"><![CDATA[<h2 id="qué-es-la-programación-orientada-a-objetos-poo-en-php">¿Qué es la Programación Orientada a Objetos (POO) en PHP?</h2>

<p>La Programación Orientada a Objetos (POO) en <a href="https://www.manualweb.net/php/">PHP</a> es una técnica de programación que permite organizar el código en <strong>estructuras llamadas clases</strong>, que son las definiciones generales de un concepto y en <strong>objetos, que son las instancias de dichas clases</strong> con unos valores concretos.</p>

<p>La definición de funcionalidades en clases nos permite reutilizar dicho código a lo largo de nuestros programas y facilita el mantenimiento de dichas funcionalidades.</p>

<p>De esta manera podemos utilizar la programación orientada a objetos (POO) en <a href="https://www.manualweb.net/php/">PHP</a> para definir desde elementos funcionales o de negocio como puede ser <em>clientes, productos, cestas de compra,…</em> a elementos más técnicos como pueden ser clases y objetos para a_cceder a bases de datos, guardar información de logs, encriptar y desencriptar datos,…_</p>

<h2 id="principios-clave-de-la-programación-orientada-a-objetos">Principios clave de la Programación Orientada a Objetos</h2>

<p>En el mundo de la programación, la programación orientada a objetos (POO) es una de las técnicas más utilizadas y sus principios clave son los siguientes:</p>

<ul>
  <li><strong>Clases y Objetos:</strong> Estos son los componentes fundamentales de cualquier programa POO. Una clase es como un plano que define las características (atributos) y comportamientos (métodos) comunes de un objeto. El objeto es una implementación concreta de una clase.</li>
  <li><strong>Encapsulación</strong>: Este concepto se refiere a la ocultación de los detalles de implementación de una clase y la exposición solo de las operaciones que los usuarios necesitan.</li>
  <li><strong>Herencia:</strong> Este principio permite que una clase adquiera las propiedades y comportamientos de otra clase, lo que ayuda a reducir la redundancia y mejora la reutilización del código.</li>
  <li><strong>Polimorfismo:</strong> Este término se refiere a la capacidad de un objeto para adoptar muchas formas. El polimorfismo permite que un objeto se comporte de una manera diferente según el contexto.</li>
  <li><strong>Abstracción:</strong> Este principio se basa en simplificar la complejidad al ocultar detalles innecesarios y mostrar solo la funcionalidad relevante.</li>
  <li><strong>Composición:</strong> Este concepto se refiere a la idea de construir clases complejas a partir de clases más simples mediante la combinación y agrupación de las mismas.</li>
</ul>

<h2 id="beneficios-de-la-programación-orientada-a-objetos-en-php">Beneficios de la Programación Orientada a Objetos en PHP</h2>

<p>El proceso de <a href="https://lineadecodigo.com/categoria/php/">desarrollo de código fuente en PHP</a>, en particular, al hacer uso de los principios de la programación orientada a objetos (OOP) en <a href="https://www.manualweb.net/php/">PHP</a>, nos proporciona una gama de beneficios significativos que vale la pena destacar.</p>

<ul>
  <li>En primer lugar, <strong>facilita enormemente el mantenimiento del código</strong>. Esto se debe a que la programación orientada a objetos en <a href="https://www.manualweb.net/php/">PHP</a> permite un código más limpio y estructurado, lo que resulta en un mantenimiento más sencillo y menos propenso a errores.</li>
  <li>En segundo lugar, <strong>mejora la comprensión del código</strong>, especialmente en proyectos de gran escala. El uso de objetos y clases en la programación facilita la comprensión de cómo se estructura y funciona el código, lo que resulta especialmente útil cuando se trabaja en proyectos de gran envergadura.</li>
  <li>En tercer lugar, <strong>permite la reutilización de código en diferentes partes de los programas</strong>. Esto significa que puedes escribir una pieza de código una vez y usarla en múltiples lugares, lo que aumenta la eficiencia y reduce la posibilidad de errores.</li>
  <li>Además, la programación orientada a objetos <strong>ayuda en las pruebas unitarias</strong>. Las pruebas unitarias son más fáciles de escribir y comprender cuando el código se divide en objetos.</li>
  <li>Por último, pero no menos importante, la programación orientada a objetos es <strong>compatible con varios frameworks de desarrollo</strong>, ya que normalmente están escritos de esta forma. Puede ser los casos de <strong>Laravel, Symfony o CodeIgniter</strong>. Por lo que amplía aún más las posibilidades de desarrollo y permite a los desarrolladores aprovechar una amplia gama de herramientas y funcionalidades adicionales.</li>
</ul>

<h2 id="ejemplo-de-programación-orientada-a-objetos-en-php">Ejemplo de Programación Orientada a Objetos en PHP</h2>

<p>Aunque en los siguientes capítulos entraremos más en detalle sobre la programación orientada a objetos en <a href="https://www.manualweb.net/php/">PHP</a> vamos a ver un primer ejemplo para ver cómo quedaría.</p>

<p>En este caso vamos a definir una clase <code class="language-plaintext highlighter-rouge">Libro</code> en la cual vamos a encapsular su información como <em>título, autor, ISBN y editorial</em>. Para signar los valores de forma inicial deberemos de definir un constructor. Además, dicha información la haremos disponible mediante una serie de métodos para poder acceder a ella. Lo último que haremos será definir objetos que instancien dicha clase con valores en concreto y sobre los que accederemos a sus métodos.</p>

<p>El código de nuestra clase <code class="language-plaintext highlighter-rouge">Libro</code> y sus objetos quedará de la siguiente forma:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cp">&lt;?php</span>

<span class="kd">class</span> <span class="nc">Libro</span> <span class="p">{</span>

  <span class="k">private</span> <span class="nv">$titulo</span><span class="p">;</span>
  <span class="k">private</span> <span class="nv">$autor</span><span class="p">;</span>
  <span class="k">private</span> <span class="nv">$isbn</span><span class="p">;</span>
  <span class="k">private</span> <span class="nv">$editorial</span><span class="p">;</span>

  <span class="k">public</span> <span class="k">function</span> <span class="n">__construct</span><span class="p">(</span><span class="nv">$titulo</span><span class="p">,</span><span class="nv">$autor</span><span class="p">,</span><span class="nv">$isbn</span><span class="p">,</span><span class="nv">$editorial</span><span class="p">)</span> <span class="p">{</span>
    <span class="nv">$this</span><span class="o">-&gt;</span><span class="n">titulo</span> <span class="o">=</span> <span class="nv">$titulo</span><span class="p">;</span>
    <span class="nv">$this</span><span class="o">-&gt;</span><span class="n">autor</span> <span class="o">=</span> <span class="nv">$autor</span><span class="p">;</span>
    <span class="nv">$this</span><span class="o">-&gt;</span><span class="n">isbn</span> <span class="o">=</span> <span class="nv">$isbn</span><span class="p">;</span>
    <span class="nv">$this</span><span class="o">-&gt;</span><span class="n">editorial</span> <span class="o">=</span> <span class="nv">$editorial</span><span class="p">;</span>
  <span class="p">}</span>

  <span class="k">public</span> <span class="k">function</span> <span class="n">getTitulo</span><span class="p">()</span> <span class="p">{</span>
    <span class="k">return</span> <span class="nv">$this</span><span class="o">-&gt;</span><span class="n">titulo</span><span class="p">;</span>
  <span class="p">}</span>

  <span class="k">public</span> <span class="k">function</span> <span class="n">getAutor</span><span class="p">()</span> <span class="p">{</span>
    <span class="k">return</span> <span class="nv">$this</span><span class="o">-&gt;</span><span class="n">autor</span><span class="p">;</span>
  <span class="p">}</span>

<span class="p">}</span>
  
<span class="nv">$l1</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Libro</span><span class="p">(</span><span class="s2">"Roma Soy Yo"</span><span class="p">,</span><span class="s2">"Santiago Posteguillo"</span><span class="p">,</span><span class="s2">"9788466671781"</span><span class="p">,</span><span class="s2">"B"</span><span class="p">);</span>
<span class="nv">$l2</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Libro</span><span class="p">(</span><span class="s2">"Alexandros"</span><span class="p">,</span><span class="s2">"Valerio Massimo Manfredi"</span><span class="p">,</span><span class="s2">"8425334187"</span><span class="p">,</span><span class="s2">"Grijalbo"</span><span class="p">);</span>

<span class="k">echo</span> <span class="nv">$l1</span><span class="o">-&gt;</span><span class="nf">getTitulo</span><span class="p">();</span>
<span class="k">echo</span> <span class="nv">$l2</span><span class="o">-&gt;</span><span class="nf">getAutor</span><span class="p">();</span>

<span class="cp">?&gt;</span>
</code></pre></div></div>

<p>Ahora pasaremos a entrar en detalle sobre todos los elementos de la programación orientada a objetos en <code class="language-plaintext highlighter-rouge">PHP</code>.</p>]]></content><author><name>manual_web</name></author><category term="poo" /><category term="objetos" /><category term="clases" /><category term="herencia" /><category term="encapsulación" /><category term="polimorfismo" /><category term="composición" /><category term="pruebas unitarias" /><summary type="html"><![CDATA[La Programación Orientada a Objetos en PHP es una técnica de programación que permite organizar el código en clases y objetos.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.manualweb.net/img/covers/php-cover.webp" /><media:content medium="image" url="https://www.manualweb.net/img/covers/php-cover.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Clases y Objetos en PHP</title><link href="https://www.manualweb.net/php/clases-y-objetos-en-php/" rel="alternate" type="text/html" title="Clases y Objetos en PHP" /><published>2024-05-19T00:00:00+02:00</published><updated>2024-05-19T00:00:00+02:00</updated><id>https://www.manualweb.net/php/clases-y-objetos-en-php</id><content type="html" xml:base="https://www.manualweb.net/php/clases-y-objetos-en-php/"><![CDATA[<h2 id="qué-son-las-clases-en-php">¿Qué son las clases en PHP?</h2>

<p>Como hemos visto en la <a href="https://manualweb.net/php/programacion-orientada-a-objetos-en-php/">introducción a la programación orientada a objetos en PHP</a> una clase en <a href="https://www.manualweb.net/php/">PHP</a> nos permite definir un tipo de objeto especificando las variables y funciones que lo componen.</p>

<p>Las clases en <a href="https://www.manualweb.net/php/">PHP</a> son una <strong>especie de plantilla</strong> que se utiliza para crear objetos con características y comportamientos específicos.</p>

<p>La sintaxis para definir una clase en <a href="https://www.manualweb.net/php/">PHP</a> es la siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">class</span> <span class="nc">NombreDeLaClase</span> <span class="p">{</span>
  <span class="c1">// Propiedades de la clase</span>
  <span class="k">var</span> <span class="nv">$propiedad1</span><span class="p">;</span>
  <span class="k">var</span> <span class="nv">$propiedad2</span><span class="p">;</span>

  <span class="c1">// Métodos de la clase</span>
  <span class="k">function</span> <span class="n">metodo1</span><span class="p">()</span> <span class="p">{</span>
    <span class="c1">// código del método</span>
  <span class="p">}</span>
<span class="p">}</span>
</code></pre></div></div>

<p>Vemos que el nombre de la clase se define mediante la palabra clave <code class="language-plaintext highlighter-rouge">class</code> seguida del nombre de la clase. Una vez definida la clase estableceremos un bloque delimitado por llaves en el cual definiremos las <strong>propiedades, métodos y constructores</strong>.</p>

<p>En una clase <a href="https://www.manualweb.net/php/">PHP</a>, podemos encontrar varios elementos esenciales que contribuyen a su funcionalidad y que veremos con más detenimiento en futuros artículos. Estos son:</p>

<ul>
  <li><strong>Propiedades</strong>: Son <strong>variables que se encuentran dentro de una clase</strong>. Estas pueden ser de cualquier tipo y pueden contener cualquier valor que una variable normal de <a href="https://www.manualweb.net/php/">PHP</a> puede contener.</li>
  <li><strong>Métodos:</strong> Son <strong>funciones definidas dentro de una clase</strong>. Estos métodos pueden realizar diversas operaciones y son esenciales para el comportamiento de un objeto de la clase.</li>
  <li><strong>Constructores:</strong> Son <strong>métodos especiales que se ejecutan automáticamente cuando se crea un nuevo objeto de una clase</strong>. Son útiles para inicializar las propiedades de un objeto.</li>
  <li><strong>Destructores:</strong> A diferencia de los constructores, los destructores <strong>se ejecutan automáticamente cuando un objeto no se utiliza más</strong>. Son útiles para liberar los recursos que el objeto puede haber consumido durante su vida útil.</li>
</ul>

<h2 id="mi-primera-clase-en-php">Mi primera clase en PHP</h2>

<p>Con estos conceptos básicos sobre las clases en <a href="https://www.manualweb.net/php/">PHP</a> vamos a ver cómo podemos <a href="https://lineadecodigo.com/php/crear-una-clase-en-php/">definir mi primera clase en PHP</a>.</p>

<p>La idea de las clases en <a href="https://www.manualweb.net/php/">PHP</a> es la de poder definir un tipo de objeto del mundo real. Por ejemplo podemos definir figuras geométricas como <em>cuadrados, rectángulos, triángulos, círculos,…</em></p>

<p>Por lo tanto podemos definir dentro de la <a href="https://lineadecodigo.com/categoria/php/">programación en PHP</a> las anteriores clases de la siguiente forma:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">class</span> <span class="nc">Cuadrado</span> <span class="p">{</span>
  <span class="k">private</span> <span class="nv">$lado</span><span class="p">;</span>
  
  <span class="k">public</span> <span class="k">function</span> <span class="n">_construct</span><span class="p">(</span><span class="nv">$lado</span><span class="p">)</span> <span class="p">{</span>
    <span class="nv">$this</span><span class="o">-&gt;</span><span class="nv">$lado</span> <span class="o">=</span> <span class="nv">$lado</span><span class="p">;</span>
  <span class="p">}</span>
<span class="p">}</span>

<span class="kd">class</span> <span class="nc">Rectangulo</span> <span class="p">{</span>
  <span class="k">private</span> <span class="nv">$lado1</span><span class="p">;</span>
  <span class="k">private</span> <span class="nv">$lado2</span><span class="p">;</span>
  
  <span class="k">public</span> <span class="k">function</span> <span class="n">_construct</span><span class="p">(</span><span class="nv">$lado1</span><span class="p">,</span> <span class="nv">$lado2</span><span class="p">)</span> <span class="p">{</span>
    <span class="nv">$this</span><span class="o">-&gt;</span><span class="nv">$lado1</span> <span class="o">=</span> <span class="nv">$lado1</span><span class="p">;</span>
    <span class="nv">$this</span><span class="o">-&gt;</span><span class="nv">$lado2</span> <span class="o">=</span> <span class="nv">$lado2</span><span class="p">;</span>
  <span class="p">}</span>
<span class="p">}</span>

<span class="kd">class</span> <span class="nc">Triangulo</span> <span class="p">{</span>
  <span class="k">private</span> <span class="nv">$base</span><span class="p">;</span>
  <span class="k">private</span> <span class="nv">$altura</span><span class="p">;</span>

  <span class="k">public</span> <span class="k">function</span> <span class="n">_construct</span><span class="p">(</span><span class="nv">$base</span><span class="p">)</span> <span class="p">{</span>
    <span class="nv">$this</span><span class="o">-&gt;</span><span class="nv">$altura</span> <span class="o">=</span> <span class="nv">$base</span><span class="p">;</span>
    <span class="nv">$this</span><span class="o">-&gt;</span><span class="nv">$altura</span> <span class="o">=</span> <span class="nv">$altura</span><span class="p">;</span>
  <span class="p">}</span>
<span class="p">}</span>

<span class="kd">class</span> <span class="nc">Circulo</span> <span class="p">{</span>
  <span class="k">private</span> <span class="nv">$radio</span><span class="p">;</span>
  <span class="k">private</span> <span class="nv">$perimetro</span><span class="p">;</span>
  
  <span class="k">public</span> <span class="k">function</span> <span class="n">_construct</span><span class="p">(</span><span class="nv">$radio</span><span class="p">)</span> <span class="p">{</span>
    <span class="nv">$this</span><span class="o">-&gt;</span><span class="nv">$radio</span> <span class="o">=</span> <span class="nv">$radio</span><span class="p">;</span>
    <span class="nv">$this</span><span class="o">-&gt;</span><span class="nv">$perimetro</span> <span class="o">=</span> <span class="mi">2</span><span class="o">*</span><span class="no">M_PI</span><span class="o">*</span><span class="nv">$radio</span><span class="p">;</span>
  <span class="p">}</span>
<span class="p">}</span>
</code></pre></div></div>

<h2 id="qué-son-los-objetos-en-php">¿Qué son los objetos en PHP?</h2>

<p>Ahora que ya sabemos qué son las clases en <a href="https://www.manualweb.net/php/">PHP</a> vamos a ver qué son los objetos en <a href="https://www.manualweb.net/php/">PHP</a>. Los objetos en <a href="https://www.manualweb.net/php/">PHP</a> son instancias particulares de una clase en concreto.</p>

<p>Cada objeto en <a href="https://www.manualweb.net/php/">PHP</a> define unos valores diferentes de las variables de una determinada clase. Por lo que tenemos poder múltiples objetos de una misma clase.</p>

<p>La sintaxis para crear un objeto en <a href="https://www.manualweb.net/php/">PHP</a> es la siguiente:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$objeto</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">NombreClase</span><span class="p">(</span><span class="n">valores</span><span class="p">);</span>
</code></pre></div></div>

<p>Para instanciar un objeto <a href="https://www.manualweb.net/php/">PHP</a> utilizamos la palabra clave <code class="language-plaintext highlighter-rouge">new</code> seguida del nombre de la clase y entre paréntesis los valores que le podemos pasar para construir el objeto. Como ya veremos, los valores que está esperando el constructor de la clase.</p>

<p>El objeto queda almacenado dentro de una variable dentro de nuestro <a href="https://www.manualweb.net/php/">código PHP</a>.</p>

<h2 id="mi-primer-objeto-en-php">Mi primer objeto en PHP</h2>

<p>Ya tenemos nuestras clases sobre <em>cuadrados, rectángulos, triángulos, círculos,…</em> definidas y ya sabemos cómo podemos instanciar objetos en <a href="https://www.manualweb.net/php/">PHP</a>, por lo que vamos a ver cómo podemos ir creando diferentes objetos.</p>

<p>De la clase <code class="language-plaintext highlighter-rouge">Cuadrado</code>:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$cuadrado1</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Cuadrado</span><span class="p">(</span><span class="mi">5</span><span class="p">);</span> <span class="c1">// Cuadrado con lado de longitud 5</span>
<span class="nv">$cuadrado2</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Cuadrado</span><span class="p">(</span><span class="mi">7</span><span class="p">);</span> <span class="c1">// Cuadrado con lado de longitud 7</span>
</code></pre></div></div>

<p>De la clase <code class="language-plaintext highlighter-rouge">Rectangulo</code>:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$rectangulo1</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Rectangulo</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span> <span class="mi">6</span><span class="p">);</span> <span class="c1">// Rectángulo con lados de longitud 4 y 6</span>
<span class="nv">$rectangulo2</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Rectangulo</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">5</span><span class="p">);</span> <span class="c1">// Rectángulo con lados de longitud 3 y 5</span>
</code></pre></div></div>

<p>De la clase <code class="language-plaintext highlighter-rouge">Triangulo</code>:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$triangulo1</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Triangulo</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">);</span> <span class="c1">// Triángulo con base de longitud 3 y altura 4</span>
<span class="nv">$triangulo2</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Triangulo</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">);</span> <span class="c1">// Triángulo con base de longitud 5 y altura 6</span>
</code></pre></div></div>

<p>Y por último de la clase <code class="language-plaintext highlighter-rouge">Circulo</code>:</p>

<div class="language-php highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$circulo1</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Circulo</span><span class="p">(</span><span class="mi">5</span><span class="p">);</span> <span class="c1">// Círculo con radio 5</span>
<span class="nv">$circulo2</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">Circulo</span><span class="p">(</span><span class="mi">7</span><span class="p">);</span> <span class="c1">// Círculo con radio 7</span>
</code></pre></div></div>

<blockquote>
  <p>💻 Ejecutar el código en <a href="https://onecompiler.com/php/42ehsakmz">https://onecompiler.com/php/42ehsakmz</a></p>
</blockquote>

<p>Vemos que en este caso no pasamos el valor del perímetro ya que este se calcula en el constructor mediante el valor del rádio.</p>

<p>Con esto ya sabemos un poco más de programación orientada a objetos (poo) en <a href="https://www.manualweb.net/php/">PHP</a> para poder crear clases y objetos en <a href="https://www.manualweb.net/php/">PHP</a>.</p>]]></content><author><name>manual_web</name></author><category term="clases" /><category term="objetos" /><category term="orientado_objetos" /><category term="propiedades" /><category term="constructores" /><category term="métodos" /><summary type="html"><![CDATA[Las clases y objetos en PHP son los elementos básicos dentro del modelo de programación orientada a objetos.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.manualweb.net/img/covers/php-cover.webp" /><media:content medium="image" url="https://www.manualweb.net/img/covers/php-cover.webp" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>