<?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 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'function.chr.php',
    1 => 'chr',
    2 => 'Gera uma string de um byte a partir de um n&uacute;mero',
  ),
  'up' => 
  array (
    0 => 'ref.strings.php',
    1 => 'Fun&ccedil;&otilde;es de String',
  ),
  'prev' => 
  array (
    0 => 'function.chop.php',
    1 => 'chop',
  ),
  'next' => 
  array (
    0 => 'function.chunk-split.php',
    1 => 'chunk_split',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    'path' => 'reference/strings/functions/chr.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.chr" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">chr</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">chr</span> &mdash; <span class="dc-title">Gera uma string de um byte a partir de um número</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.chr-description">
  <h3 class="title">Descrição</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>chr</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$codepoint</code></span>): <span class="type"><a href="language.types.string.php" class="type string">string</a></span></div>

  <p class="para rdfs-comment">
   Retorna uma string de um caractere contendo o caractere especificado
   pela interpretação do parâmetro <code class="parameter">codepoint</code> como um inteiro sem sinal.
  </p>
  <p class="para">
   Esta função pode ser usada para criar uma string de um caracteres em uma codificação de 1-byte como ASCII, ISO-8859, ou Windows 1252, passando-se a posição do caractere desejado na tabela de mapeamento da codificação. Entretanto, observe que esta função não tem ciência de codificação de strings e, em particular, não pode receber um valor de ponto de código Unicode para gerar uma string em uma codificação multi-byte como UTF-8 ou UTF-16.
  </p>
  <p class="para">
   Esta função é complementar à função <span class="function"><a href="function.ord.php" class="function">ord()</a></span>.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.chr-parameters">
  <h3 class="title">Parâmetros</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">codepoint</code></dt>
     <dd>
      <p class="para">
       Um inteiro entre 0 e 255.
      </p>
      <p class="para">
       Valores fora do intervalo válido (0..255) sofrerão operação binária AND com o valor 255,
       o que é equivalente ao algoritmo a seguir:
       <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000">while ($bytevalue &lt; 0) {<br />    $bytevalue += 256;<br />}<br />$bytevalue %= 256;</span></code></div>
       </div>

      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.chr-returnvalues">
  <h3 class="title">Valor Retornado</h3>
  <p class="para">
   Uma string de um caractere contendo o byte especificado.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.chr-changelog">
  <h3 class="title">Registro de Alterações</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Versão</th>
      <th>Descrição</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>7.4.0</td>
      <td>
       A função não mais aceita silenciosamente códigos não suportados no parâmetro <code class="parameter">codepoint</code>,
       convertendo-os para <code class="literal">0</code>.
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-function.chr-examples">
  <h3 class="title">Exemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemplo #1 Exemplo de <span class="function"><strong>chr()</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: #FF8000">// Assume que a string será usada como codificação ASCII ou compatível<br /><br /></span><span style="color: #0000BB">$str </span><span style="color: #007700">= </span><span style="color: #DD0000">"A string termina com ESC: "</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$str </span><span style="color: #007700">.= </span><span style="color: #0000BB">chr</span><span style="color: #007700">(</span><span style="color: #0000BB">27</span><span style="color: #007700">); </span><span style="color: #FF8000">/* adiciona um caractere ESC ao final de $str */<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">$str</span><span style="color: #007700">, </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">/* Frequentemente isto é mais útil: */<br /></span><span style="color: #0000BB">$str </span><span style="color: #007700">= </span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #DD0000">"A string termina com ESC: %c"</span><span style="color: #007700">, </span><span style="color: #0000BB">27</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">$str</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">
   <div class="example" id="example-2">
    <p><strong>Exemplo #2 Comportamento com parâmetro fora dos limites</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">chr</span><span style="color: #007700">(-</span><span style="color: #0000BB">159</span><span style="color: #007700">), </span><span style="color: #0000BB">chr</span><span style="color: #007700">(</span><span style="color: #0000BB">833</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 class="example-contents"><p>O exemplo acima produzirá:</p></div>
    <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">aA</pre>
</div>
    </div>
   </div>
  </p>
  <p class="para">
   <div class="example" id="example-3">
    <p><strong>Exemplo #3 Construindo uma string UTF-8 a partir de bytes individuais</strong></p>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$str </span><span style="color: #007700">= </span><span style="color: #0000BB">chr</span><span style="color: #007700">(</span><span style="color: #0000BB">240</span><span style="color: #007700">) . </span><span style="color: #0000BB">chr</span><span style="color: #007700">(</span><span style="color: #0000BB">159</span><span style="color: #007700">) . </span><span style="color: #0000BB">chr</span><span style="color: #007700">(</span><span style="color: #0000BB">144</span><span style="color: #007700">) . </span><span style="color: #0000BB">chr</span><span style="color: #007700">(</span><span style="color: #0000BB">152</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">$str</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 class="example-contents"><p>O exemplo acima produzirá:</p></div>
    <div class="example-contents screen"><br />
🐘<br />
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.chr-seealso">
  <h3 class="title">Veja Também</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.sprintf.php" class="function" rel="rdfs-seeAlso">sprintf()</a> - Retona uma string formatada</span> com string de formatação <code class="literal">%c</code></li>
    <li><span class="function"><a href="function.ord.php" class="function" rel="rdfs-seeAlso">ord()</a> - Converte o primeiro byte de uma string para um valor entre 0 e 255</span></li>
    <li>Uma <a href="https://www.man7.org/linux/man-pages/man7/ascii.7.html" class="link external">&raquo;&nbsp;tabela ASCII</a></li>
    <li><span class="function"><a href="function.mb-chr.php" class="function" rel="rdfs-seeAlso">mb_chr()</a> - Retorna um caractere pelo valor do ponto de c&oacute;digo Unicode</span></li>
    <li><span class="function"><a href="intlchar.chr.php" class="function" rel="rdfs-seeAlso">IntlChar::chr()</a> - Retorna um caractere Unicode por valor de ponto de c&oacute;digo</span></li>
   </ul>
  </p>
 </div>


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