<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.splobjectstorage.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'splobjectstorage.gethash.php',
    1 => 'SplObjectStorage::getHash',
    2 => 'Calcular un identificador &uacute;nico (hash) para los objetos contenidos',
  ),
  'up' => 
  array (
    0 => 'class.splobjectstorage.php',
    1 => 'SplObjectStorage',
  ),
  'prev' => 
  array (
    0 => 'splobjectstorage.detach.php',
    1 => 'SplObjectStorage::detach',
  ),
  'next' => 
  array (
    0 => 'splobjectstorage.getinfo.php',
    1 => 'SplObjectStorage::getInfo',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/spl/splobjectstorage/gethash.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="splobjectstorage.gethash" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">SplObjectStorage::getHash</h1>
  <p class="verinfo">(PHP 5 &gt;= 5.4.0, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">SplObjectStorage::getHash</span> &mdash; <span class="dc-title">
   Calcular un identificador único (hash) para los objetos contenidos
  </span></p>

 </div>

 <div class="refsect1 description" id="refsect1-splobjectstorage.gethash-description">
  <h3 class="title">Descripción</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>SplObjectStorage::getHash</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.object.php" class="type object">object</a></span> <code class="parameter">$object</code></span>): <span class="type"><a href="language.types.string.php" class="type string">string</a></span></div>

  <p class="para rdfs-comment">
   Este método calcula un identificador para los objetos añadidos a un
   objeto <span class="classname"><a href="class.splobjectstorage.php" class="classname">SplObjectStorage</a></span>.
  </p>
  <p class="para">
   La implementación en la clase <span class="classname"><a href="class.splobjectstorage.php" class="classname">SplObjectStorage</a></span> devuelve
   el mismo valor que la función <span class="function"><a href="function.spl-object-hash.php" class="function">spl_object_hash()</a></span>.
  </p>
  <p class="para">
   El objeto de almacenamiento nunca contendrá más de un objeto con el mismo identificador.
   Por lo tanto, se puede usar para implementar un conjunto (una colección de valores únicos)
   donde la cualidad de un objeto de ser único está determinada por el valor
   devuelto por esta función.
  </p>

 </div>


 <div class="refsect1 parameters" id="refsect1-splobjectstorage.gethash-parameters">
  <h3 class="title">Parámetros</h3>
  <dl>
   
    <dt><code class="parameter">object</code></dt>
    <dd>
     <p class="para">
      El objeto cuyo identificador va a ser calculado.
     </p>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-splobjectstorage.gethash-returnvalues">
  <h3 class="title">Valores devueltos</h3>
  <p class="para">
   Un <span class="type"><a href="language.types.string.php" class="type string">string</a></span> con el identificador calculado.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-splobjectstorage.gethash-errors">
  <h3 class="title">Errores/Excepciones</h3>
  <p class="para">
   Se lanza una excepción de tipo <span class="classname"><a href="class.runtimeexception.php" class="classname">RuntimeException</a></span> cuando el valor
   devuelto no es un <span class="type"><a href="language.types.string.php" class="type string">string</a></span>.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-splobjectstorage.gethash-examples">
  <h3 class="title">Ejemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 Ejemplo de <span class="function"><strong>SplObjectStorage::getHash()</strong></span></strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">class </span><span style="color: #0000BB">OneSpecimenPerClassStorage </span><span style="color: #007700">extends </span><span style="color: #0000BB">SplObjectStorage </span><span style="color: #007700">{<br />    public function </span><span style="color: #0000BB">getHash</span><span style="color: #007700">(</span><span style="color: #0000BB">$o</span><span style="color: #007700">) {<br />        return </span><span style="color: #0000BB">get_class</span><span style="color: #007700">(</span><span style="color: #0000BB">$o</span><span style="color: #007700">);<br />    }<br />}<br />class </span><span style="color: #0000BB">A </span><span style="color: #007700">{}<br /><br /></span><span style="color: #0000BB">$s </span><span style="color: #007700">= new </span><span style="color: #0000BB">OneSpecimenPerClassStorage</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$o1 </span><span style="color: #007700">= new </span><span style="color: #0000BB">stdClass</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$o2 </span><span style="color: #007700">= new </span><span style="color: #0000BB">stdClass</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$o3 </span><span style="color: #007700">= new </span><span style="color: #0000BB">A</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$s</span><span style="color: #007700">[</span><span style="color: #0000BB">$o1</span><span style="color: #007700">] = </span><span style="color: #0000BB">1</span><span style="color: #007700">;<br /></span><span style="color: #FF8000">//$o2 es considerado igual a $o1, por lo que el valor es reemplazado<br /></span><span style="color: #0000BB">$s</span><span style="color: #007700">[</span><span style="color: #0000BB">$o2</span><span style="color: #007700">] = </span><span style="color: #0000BB">2</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$s</span><span style="color: #007700">[</span><span style="color: #0000BB">$o3</span><span style="color: #007700">] = </span><span style="color: #0000BB">3</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">//estos objetos son considerados iguales a los objetos anteriores<br />//por lo que se pueden usar para acceder a los valores almacenados en ellos<br /></span><span style="color: #0000BB">$p1 </span><span style="color: #007700">= new </span><span style="color: #0000BB">stdClass</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$p2 </span><span style="color: #007700">= new </span><span style="color: #0000BB">A</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">$s</span><span style="color: #007700">[</span><span style="color: #0000BB">$p1</span><span style="color: #007700">], </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">$s</span><span style="color: #007700">[</span><span style="color: #0000BB">$p2</span><span style="color: #007700">], </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>Resultado del ejemplo anterior es similar a:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">2
3</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-splobjectstorage.gethash-seealso">
  <h3 class="title">Ver también</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.spl-object-hash.php" class="function" rel="rdfs-seeAlso">spl_object_hash()</a> - Devuelve el identificador de hash para un objeto dado</span></li>
   </ul>
  </p>
 </div>


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