<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.strings.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'function.strtr.php',
    1 => 'strtr',
    2 => 'Reemplaza caracteres en un string',
  ),
  'up' => 
  array (
    0 => 'ref.strings.php',
    1 => 'Funciones de strings',
  ),
  'prev' => 
  array (
    0 => 'function.strtoupper.php',
    1 => 'strtoupper',
  ),
  'next' => 
  array (
    0 => 'function.substr.php',
    1 => 'substr',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/strings/functions/strtr.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.strtr" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">strtr</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">strtr</span> &mdash; <span class="dc-title">Reemplaza caracteres en un string</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.strtr-description">
  <h3 class="title">Descripción</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>strtr</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$string</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$from</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$to</code></span>): <span class="type"><a href="language.types.string.php" class="type string">string</a></span></div>

  <p class="simpara">Firma alternativa (no soportada con argumentos nombrados):</p>
  <div class="methodsynopsis dc-description"><span class="methodname"><strong>strtr</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$string</code></span>, <span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$replace_pairs</code></span>): <span class="type"><a href="language.types.string.php" class="type string">string</a></span></div>

  <p class="para rdfs-comment">
   Si se utilizan tres argumentos, <span class="function"><strong>strtr()</strong></span> devuelve el string
   <code class="parameter">string</code> después de haber reemplazado cada carácter (de un octeto)
   del parámetro <code class="parameter">from</code> por su equivalente en el parámetro
   <code class="parameter">to</code>, cada ocurrencia de <code class="literal">$from[$n]</code> es
   reemplazada por <code class="literal">$to[$n]</code>, donde <code class="literal">$n</code> es un valor
   válido para cada argumento.
  </p>
  <p class="para">
   Si <code class="parameter">from</code> y <code class="parameter">to</code> son de
   tamaños diferentes, los caracteres adicionales en uno u otro
   serán ignorados. El tamaño de <code class="parameter">string</code> será el mismo que el de
   los valores devueltos.
  </p>
  <p class="para">
   Si solo se utilizan dos argumentos, el segundo debe ser un <span class="type"><a href="language.types.array.php" class="type array">array</a></span>
   de la forma <code class="literal">array(&#039;from&#039; =&gt; &#039;to&#039;, ...)</code>. El dato devuelto es
   un <span class="type"><a href="language.types.string.php" class="type string">string</a></span> en el que todas las ocurrencias de las claves del array han
   sido reemplazadas por los valores correspondientes. Las claves más largas serán utilizadas primero.
   Una vez que una subcadena es reemplazada, su nuevo valor no será buscado nuevamente.
  </p>
  <p class="para">
   En este caso, las claves y los valores pueden tener cualquier tamaño, asumiendo
   que no hay una clave vacía; así, el tamaño del valor devuelto puede diferir del de
   <code class="parameter">string</code>. Sin embargo, esta función será más eficiente cuando todas
   las claves tengan el mismo tamaño.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.strtr-parameters">
  <h3 class="title">Parámetros</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">string</code></dt>
     <dd>
      <p class="para">
       El string a procesar.
      </p>
     </dd>
    
    
     <dt><code class="parameter">from</code></dt>
     <dd>
      <p class="para">
       Los caracteres de origen.
      </p>
     </dd>
    
    
     <dt><code class="parameter">to</code></dt>
     <dd>
      <p class="para">
       Los caracteres de reemplazo.
      </p>
     </dd>
    
    
     <dt><code class="parameter">replace_pairs</code></dt>
     <dd>
      <p class="para">
       El parámetro <code class="parameter">replace_pairs</code> puede ser utilizado
       en lugar de <code class="parameter">to</code> y <code class="parameter">from</code>
       y en este caso, será un array en la forma
       <code class="literal">array(&#039;from&#039; =&gt; &#039;to&#039;, ...)</code>.
      </p>
      <p class="para">
       Si <code class="parameter">replace_pairs</code> contiene una clave que es un
       <span class="type"><a href="language.types.string.php" class="type string">string</a></span> vacío (<code class="literal">&quot;&quot;</code>), el elemento es ignorado;
       a partir de PHP 8.0.0 se genera una <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> en este caso.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.strtr-returnvalues">
  <h3 class="title">Valores devueltos</h3>
  <p class="para">
   Devuelve el string modificado.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.strtr-examples">
  <h3 class="title">Ejemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 Ejemplo con <span class="function"><strong>strtr()</strong></span></strong></p>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$addr </span><span style="color: #007700">= </span><span style="color: #DD0000">"The river å"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Aquí, strtr() reemplaza octeto por octeto, por lo tanto<br />// se asume aquí codificaciones de un solo octeto:<br /></span><span style="color: #0000BB">$addr </span><span style="color: #007700">= </span><span style="color: #0000BB">strtr</span><span style="color: #007700">(</span><span style="color: #0000BB">$addr</span><span style="color: #007700">, </span><span style="color: #DD0000">"äåö"</span><span style="color: #007700">, </span><span style="color: #DD0000">"aao"</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">$addr</span><span style="color: #007700">, </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   El siguiente ejemplo muestra el uso de <span class="function"><strong>strtr()</strong></span> con
   dos argumentos. Observe la preferencia de los reemplazos (<code class="literal">h</code> no
   es utilizado porque hay coincidencias más largas) y cómo el texto
   reemplazado no es reutilizado posteriormente.
  </p>
  <div class="example" id="example-2">
   <p><strong>Ejemplo #2 Ejemplo con <span class="function"><strong>strtr()</strong></span> y 2 argumentos</strong></p>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$trans </span><span style="color: #007700">= array(</span><span style="color: #DD0000">"h" </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"-"</span><span style="color: #007700">, </span><span style="color: #DD0000">"hello" </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"hi"</span><span style="color: #007700">, </span><span style="color: #DD0000">"hi" </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"hello"</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">strtr</span><span style="color: #007700">(</span><span style="color: #DD0000">"hi all, I said hello"</span><span style="color: #007700">, </span><span style="color: #0000BB">$trans</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>El ejemplo anterior mostrará:</p></div>
    <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">hello all, I said hi</pre>
</div>
    </div>
  </div>
  <p class="para">
   Los dos comportamientos son diferentes. Con tres argumentos,
   <span class="function"><strong>strtr()</strong></span> reemplazará los octetos; con dos, puede
   reemplazar subcadenas más largas.
  </p>
  <div class="example" id="example-3">
   <p><strong>Ejemplo #3 Comparación de comportamiento de <span class="function"><strong>strtr()</strong></span></strong></p>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">strtr</span><span style="color: #007700">(</span><span style="color: #DD0000">"baab"</span><span style="color: #007700">, </span><span style="color: #DD0000">"ab"</span><span style="color: #007700">, </span><span style="color: #DD0000">"01"</span><span style="color: #007700">),</span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$trans </span><span style="color: #007700">= array(</span><span style="color: #DD0000">"ab" </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"01"</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">strtr</span><span style="color: #007700">(</span><span style="color: #DD0000">"baab"</span><span style="color: #007700">, </span><span style="color: #0000BB">$trans</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>El ejemplo anterior mostrará:</p></div>
    <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">1001
ba01</pre>
</div>
    </div>
  </div>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.strtr-seealso">
  <h3 class="title">Ver también</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.str-replace.php" class="function" rel="rdfs-seeAlso">str_replace()</a> - Reemplaza todas las ocurrencias en una string</span></li>
    <li><span class="function"><a href="function.preg-replace.php" class="function" rel="rdfs-seeAlso">preg_replace()</a> - Buscar y reemplazar mediante expresi&oacute;n regular est&aacute;ndar</span></li>
   </ul>
  </p>
 </div>

</div><?php manual_footer($setup); ?>