<?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.print.php',
    1 => 'print',
    2 => 'Exibe uma string',
  ),
  'up' => 
  array (
    0 => 'ref.strings.php',
    1 => 'Fun&ccedil;&otilde;es de String',
  ),
  'prev' => 
  array (
    0 => 'function.parse-str.php',
    1 => 'parse_str',
  ),
  'next' => 
  array (
    0 => 'function.printf.php',
    1 => 'printf',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    'path' => 'reference/strings/functions/print.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

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

 </div>

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

  <p class="para rdfs-comment">
   Exibe o conteúdo de <code class="parameter">expression</code>.
  </p>
  <p class="para">
   <code class="literal">print</code> não é uma função, é uma construção de linguagem.
   Seu argumento é a expressão logo após a palavra-chave <code class="literal">print</code>,
   não delimitada por parênteses.
  </p>
  <p class="para">
   As principais diferenças para <span class="function"><a href="function.echo.php" class="function">echo</a></span> são que
   <code class="literal">print</code> aceita apenas um único argumento e sempre retorna
   <code class="literal">1</code>.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.print-parameters">
  <h3 class="title">Parâmetros</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">expression</code></dt>
     <dd>
      <p class="para">
       A expressão a ser mostrada. Valores não-string serão convertidos coercitivamente para strings,
       mesmo quando <a href="language.types.declarations.php#language.types.declarations.strict" class="link">a diretiva
       <code class="literal">strict_types</code></a> estiver habilitada.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.print-returnvalues">
  <h3 class="title">Valor Retornado</h3>
  <p class="para">
   Retorna <code class="literal">1</code>, sempre.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.print-examples">
  <h3 class="title">Exemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemplo #1 Exemplos de <code class="literal">print</code></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">print </span><span style="color: #DD0000">"print não requer parênteses."</span><span style="color: #007700">;<br />print </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Não é adicionado espaço ou quebra de linha; o exemplo abaixo mostra "olámundo" em uma só linha<br /></span><span style="color: #007700">print </span><span style="color: #DD0000">"olá"</span><span style="color: #007700">;<br />print </span><span style="color: #DD0000">"mundo"</span><span style="color: #007700">;<br />print </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /><br />print </span><span style="color: #DD0000">"Esta string ocupa<br />múltiplas linhas. As quebras de linha<br />também serão mostradas."</span><span style="color: #007700">;<br />print </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /><br />print </span><span style="color: #DD0000">"Esta string ocupa\nmúltiplas linhas. As quebras de linha\ntambém serão mostradas."</span><span style="color: #007700">;<br />print </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// O argumento pode ser qualquer expressão que produza uma string<br /></span><span style="color: #0000BB">$foo </span><span style="color: #007700">= </span><span style="color: #DD0000">"exemplo"</span><span style="color: #007700">;<br />print </span><span style="color: #DD0000">"foo é um </span><span style="color: #0000BB">$foo</span><span style="color: #DD0000">"</span><span style="color: #007700">; </span><span style="color: #FF8000">// foo é um exemplo<br /></span><span style="color: #007700">print </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$frutas </span><span style="color: #007700">= [</span><span style="color: #DD0000">"limão"</span><span style="color: #007700">, </span><span style="color: #DD0000">"laranja"</span><span style="color: #007700">, </span><span style="color: #DD0000">"banana"</span><span style="color: #007700">];<br />print </span><span style="color: #0000BB">implode</span><span style="color: #007700">(</span><span style="color: #DD0000">" e "</span><span style="color: #007700">, </span><span style="color: #0000BB">$frutas</span><span style="color: #007700">); </span><span style="color: #FF8000">// limão e laranja e banana<br /></span><span style="color: #007700">print </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Expressões não-string são convertidas coercitivamente para strings, mesmo que declare(strict_types=1) seja usada<br /></span><span style="color: #007700">print </span><span style="color: #0000BB">6 </span><span style="color: #007700">* </span><span style="color: #0000BB">7</span><span style="color: #007700">; </span><span style="color: #FF8000">// 42<br /></span><span style="color: #007700">print </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Como print tem um valor de retorno, pode ser usada em expressões<br />// O código a seguir mostra "olá mundo"<br /></span><span style="color: #007700">if ( print </span><span style="color: #DD0000">"olá" </span><span style="color: #007700">) {<br />    echo </span><span style="color: #DD0000">" mundo"</span><span style="color: #007700">;<br />}<br />print </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// O código a seguir mostra "verdadeiro"<br /></span><span style="color: #007700">( </span><span style="color: #0000BB">1 </span><span style="color: #007700">=== </span><span style="color: #0000BB">1 </span><span style="color: #007700">) ? print </span><span style="color: #DD0000">'verdadeiro' </span><span style="color: #007700">: print </span><span style="color: #DD0000">'falso'</span><span style="color: #007700">;<br />print </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>
 </div>


 <div class="refsect1 notes" id="refsect1-function.print-notes">
  <h3 class="title">Notas</h3>

  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <strong>Usando com parênteses</strong><br />
   <p class="para">
    Envolver o argumento de <code class="literal">print</code> com parênteses não irá
    causar um erro de sintaxe, e produz uma sintaxe que se parece com uma chamada
    normal de função. Entretanto, isso pode causar confusão, porque os parênteses são na verdade
    parte da expressão sendo mostrada, e não parte da sintaxe de <code class="literal">print</code>
    propriamente.

    <div class="informalexample">
     <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">print </span><span style="color: #DD0000">"olá"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">// exibe "olá"<br /><br /></span><span style="color: #007700">print(</span><span style="color: #DD0000">"hello"</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">// também exibe "olá", porque ("olá") é uma expressão válida<br /><br /></span><span style="color: #007700">print(</span><span style="color: #0000BB">1 </span><span style="color: #007700">+ </span><span style="color: #0000BB">2</span><span style="color: #007700">) * </span><span style="color: #0000BB">3</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">// exibe "9"; os parênteses fazem com que 1+2 seja avaliado primeiro, e depois 3*3<br />// a declaração print enxerga toda a expressão como um único argumento<br /><br /></span><span style="color: #007700">if ( print(</span><span style="color: #DD0000">"olá"</span><span style="color: #007700">) &amp;&amp; </span><span style="color: #0000BB">false </span><span style="color: #007700">) {<br />    print </span><span style="color: #DD0000">" - dentro do if"</span><span style="color: #007700">;<br />}<br />else {<br />    print </span><span style="color: #DD0000">" - dentro do else"</span><span style="color: #007700">;<br />}<br /></span><span style="color: #FF8000">// Exibe " - dentro do if"<br />// A expressão ("olá") &amp;&amp; false é avaliada primeiro, produzindo resultado falso.<br />// Isto é convertido à força para uma string vazia "" e exibido.<br />// A declaração print a partir daí retorna 1, então o código dentro do bloco if é executado<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

    </div>
   </p>

   <p class="para">
    Ao usar <code class="literal">print</code> com uma expressão maior, colocar tanto a
    palavra-chave quanto seu argumento entre parênteses pode ser necessário para gerar
    o resultado desejado:

    <div class="informalexample">
     <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">if ( (print </span><span style="color: #DD0000">"olá"</span><span style="color: #007700">) &amp;&amp; </span><span style="color: #0000BB">false </span><span style="color: #007700">) {<br />    print </span><span style="color: #DD0000">" - dentro do if"</span><span style="color: #007700">;<br />}<br />else {<br />    print </span><span style="color: #DD0000">" - dentro do else"</span><span style="color: #007700">;<br />}<br /></span><span style="color: #FF8000">// Exibe "olá - dentro do else"<br />// Diferentemente do exemplo anterior, a expressão (print "olá") é avaliada primeiro.<br />// Depois de exibir "olá", print retorna 1.<br />// Já que 1 &amp;&amp; false é falso, o código dentro do bloco else é executado.<br /><br /></span><span style="color: #007700">print </span><span style="color: #DD0000">"olá " </span><span style="color: #007700">&amp;&amp; print </span><span style="color: #DD0000">"mundo"</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">// Exibe "mundo1"; print "mundo" é avaliado primeiro,<br />// e depois a expressão "olá " &amp;&amp; 1 é passada ao print da esquerda<br /><br /></span><span style="color: #007700">(print </span><span style="color: #DD0000">"olá "</span><span style="color: #007700">) &amp;&amp; (print </span><span style="color: #DD0000">"mundo"</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">// Exibe "olá mundo"; os parênteses forçam a avaliação das expressões print<br />// antes da operação &amp;&amp;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

    </div>
   </p>
  </p></blockquote>

  <blockquote class="note"><p><strong class="note">Nota</strong>: <span class="simpara">Como esta é uma
construção da linguagem e não uma função, ela não pode ser chamada usando
<a href="functions.variable-functions.php" class="link">funções variáveis</a>
ou <a href="functions.arguments.php#functions.named-arguments" class="link">argumentos nomeados</a>.</span>
</p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.print-seealso">
  <h3 class="title">Veja Também</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.echo.php" class="function" rel="rdfs-seeAlso">echo</a> - Envia uma ou mais strings para a sa&iacute;da</span></li>
    <li><span class="function"><a href="function.printf.php" class="function" rel="rdfs-seeAlso">printf()</a> - Envia uma string formatada para a sa&iacute;da</span></li>
    <li><span class="function"><a href="function.flush.php" class="function" rel="rdfs-seeAlso">flush()</a> - Descarrega o buffer na sa&iacute;da do sistema</span></li>
    <li><a href="language.types.string.php" class="link">Maneiras de especificar strings literais</a></li>
   </ul>
  </p>
 </div>


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