<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/language.types.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'language.types.intro.php',
    1 => 'Introducci&oacute;n',
    2 => 'Introducci&oacute;n',
  ),
  'up' => 
  array (
    0 => 'language.types.php',
    1 => 'Los tipos',
  ),
  'prev' => 
  array (
    0 => 'language.types.php',
    1 => 'Los tipos',
  ),
  'next' => 
  array (
    0 => 'language.types.type-system.php',
    1 => 'Sistema de tipos',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'language/types.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="language.types.intro" class="sect1">
  <h2 class="title">Introducción</h2>
  <p class="para">
   En PHP, cada expresión tiene uno de los siguientes tipos integrados según su valor:
  <ul class="itemizedlist">
   <li class="listitem"><span class="simpara"><span class="type"><a href="language.types.null.php" class="type null">null</a></span></span></li>
   <li class="listitem"><span class="simpara"><span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></span></li>
   <li class="listitem"><span class="simpara"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span></span></li>
   <li class="listitem"><span class="simpara"><span class="type"><a href="language.types.float.php" class="type float">float</a></span> (número de punto flotante)</span></li>
   <li class="listitem"><span class="simpara"><span class="type"><a href="language.types.string.php" class="type string">string</a></span></span></li>
   <li class="listitem"><span class="simpara"><span class="type"><a href="language.types.array.php" class="type array">array</a></span></span></li>
   <li class="listitem"><span class="simpara"><span class="type"><a href="language.types.object.php" class="type object">object</a></span></span></li>
   <li class="listitem"><span class="simpara"><span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span></span></li>
   <li class="listitem"><span class="simpara"><span class="type"><a href="language.types.resource.php" class="type resource">resource</a></span></span></li>
  </ul>
 </p>

  <p class="para">
   PHP es un lenguaje de tipado dinámico, lo que significa que, por omisión, no es necesario especificar el tipo de una variable, ya que esto se determinará en tiempo de ejecución. Sin embargo, es posible tipar estáticamente ciertos aspectos del lenguaje utilizando las
   <a href="language.types.declarations.php" class="link">declaraciones de tipo</a>.
   Los diferentes tipos soportados por el sistema de tipos de PHP están disponibles en la
   <a href="language.types.type-system.php" class="link">página del sistema de tipos</a>.
  </p>

  <p class="para">
   Los tipos limitan el tipo de operaciones que pueden realizarse sobre ellos.
   Sin embargo, si una expresión/variable se utiliza en una operación que su tipo no soporta, PHP intentará
   <a href="language.types.type-juggling.php" class="link">manipular el tipo</a> en un tipo compatible con la operación.
   Este proceso depende del contexto en el que se utiliza el valor.
   Para más información, consulte la sección sobre la
   <a href="language.types.type-juggling.php" class="link">manipulación de tipos</a>.
  </p>

  <div class="tip"><strong class="tip">Sugerencia</strong>
   <p class="simpara">
    <a href="types.comparisons.php" class="link">Las tablas de comparación de tipos</a>
    pueden ser también útiles, ya que se presentan diversos ejemplos de comparación entre valores de diferentes tipos.
   </p>
  </div>

  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <span class="simpara">
    Es posible forzar la evaluación de una expresión a un cierto tipo utilizando un
    <a href="language.types.type-juggling.php#language.types.typecasting" class="link">type casting</a>.
    Una variable también puede ser convertida en el lugar utilizando la función
    <span class="function"><a href="function.settype.php" class="function">settype()</a></span>.
   </span>
  </p></blockquote>

  <p class="para">
    Para verificar el tipo y el valor de una
    <a href="language.expressions.php" class="link">expresión</a>, utilice la función
    <span class="function"><a href="function.var-dump.php" class="function">var_dump()</a></span>.

   Para recuperar el tipo de una
   <a href="language.expressions.php" class="link">expresión</a>,
   utilice la función <span class="function"><a href="function.get-debug-type.php" class="function">get_debug_type()</a></span>.
   Sin embargo, para verificar si una expresión es de un cierto tipo, utilice mejor las funciones
   
   <code class="literal">is_<span class="replaceable">type</span></code>.

   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 Tipos Diferentes</strong></p>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$a_bool </span><span style="color: #007700">= </span><span style="color: #0000BB">TRUE</span><span style="color: #007700">;   </span><span style="color: #FF8000">// un booleano<br /></span><span style="color: #0000BB">$a_str  </span><span style="color: #007700">= </span><span style="color: #DD0000">"foo"</span><span style="color: #007700">;  </span><span style="color: #FF8000">// un string<br /></span><span style="color: #0000BB">$a_str2 </span><span style="color: #007700">= </span><span style="color: #DD0000">'foo'</span><span style="color: #007700">;  </span><span style="color: #FF8000">// un string<br /></span><span style="color: #0000BB">$an_int </span><span style="color: #007700">= </span><span style="color: #0000BB">12</span><span style="color: #007700">;     </span><span style="color: #FF8000">// un integer<br /><br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">gettype</span><span style="color: #007700">(</span><span style="color: #0000BB">$a_bool</span><span style="color: #007700">); </span><span style="color: #FF8000">// muestra:  boolean<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">gettype</span><span style="color: #007700">(</span><span style="color: #0000BB">$a_str</span><span style="color: #007700">);  </span><span style="color: #FF8000">// muestra:  string<br /><br />// Si es un integer, incrementa en 4<br /></span><span style="color: #007700">if (</span><span style="color: #0000BB">is_int</span><span style="color: #007700">(</span><span style="color: #0000BB">$an_int</span><span style="color: #007700">)) {<br />    </span><span style="color: #0000BB">$an_int </span><span style="color: #007700">+= </span><span style="color: #0000BB">4</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">// Si $a_bool es un string, se muestra<br /></span><span style="color: #007700">if (</span><span style="color: #0000BB">is_string</span><span style="color: #007700">(</span><span style="color: #0000BB">$a_bool</span><span style="color: #007700">)) {<br />    echo </span><span style="color: #DD0000">"String: </span><span style="color: #0000BB">$a_bool</span><span style="color: #DD0000">"</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>Resultado del ejemplo anterior en PHP 8:</p></div>
    <div class="example-contents screen">
<div class="annotation-interactive cdata"><pre>
bool
string
int(16)
</pre></div>
    </div>
   </div>
  </p>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
  <span class="simpara">
   Anterior a PHP 8.0.0, cuando la función <span class="function"><a href="function.get-debug-type.php" class="function">get_debug_type()</a></span> no está
   disponible, la función <span class="function"><a href="function.gettype.php" class="function">gettype()</a></span> puede ser utilizada en su lugar.
   Sin embargo, no utiliza los nombres de tipo canónicos.
  </span>
 </p></blockquote>
 </div><?php manual_footer($setup); ?>