<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.arrayaccess.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ja',
  ),
  'this' => 
  array (
    0 => 'arrayaccess.offsetget.php',
    1 => 'ArrayAccess::offsetGet',
    2 => 'オフセットを取得する',
  ),
  'up' => 
  array (
    0 => 'class.arrayaccess.php',
    1 => 'ArrayAccess',
  ),
  'prev' => 
  array (
    0 => 'arrayaccess.offsetexists.php',
    1 => 'ArrayAccess::offsetExists',
  ),
  'next' => 
  array (
    0 => 'arrayaccess.offsetset.php',
    1 => 'ArrayAccess::offsetSet',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    'path' => 'language/predefined/arrayaccess/offsetget.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="arrayaccess.offsetget" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">ArrayAccess::offsetGet</h1>
  <p class="verinfo">(PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">ArrayAccess::offsetGet</span> &mdash; <span class="dc-title">オフセットを取得する</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-arrayaccess.offsetget-description">
  <h3 class="title">説明</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>ArrayAccess::offsetGet</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">$offset</code></span>): <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span></div>

  <p class="para rdfs-comment">
   指定したオフセットの値を返します。
  </p>
  <p class="para">
   このメソッドは、オフセットが <span class="function"><a href="function.empty.php" class="function">empty()</a></span> かどうかを調べる際に実行されます。
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-arrayaccess.offsetget-parameters">
  <h3 class="title">パラメータ</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">offset</code></dt>
     <dd>
      <p class="para">
       取得したいオフセット。
      </p>
     </dd>
    
   </dl>
  </p>

 </div>


 <div class="refsect1 returnvalues" id="refsect1-arrayaccess.offsetget-returnvalues">
  <h3 class="title">戻り値</h3>
  <p class="para">
   すべての型の値を返すことができます。
  </p>
 </div>


 <div class="refsect1 notes" id="refsect1-arrayaccess.offsetget-notes">
  <h3 class="title">注意</h3>
  <blockquote class="note"><p><strong class="note">注意</strong>: 
    <p class="para">
      このメソッドの実装で参照を返すことができます。
      これにより、<span class="classname"><a href="class.arrayaccess.php" class="classname">ArrayAccess</a></span>
      オブジェクトのオーバーロードされた配列に対する間接的な変更ができます。
    </p>
    <p class="para">
      直接的な変更とは、<code class="literal">$obj[6] = 7</code>
      のように配列のその次元の値を完全に置き換える変更のことです。
      一方、間接的な変更とは、<code class="literal">$obj[6][7] = 7</code>
      のようにその次元の一部分のみを変更したり <code class="literal">$var =&amp; $obj[6]</code>
      のように他の変数に参照を代入したりする変更のことです。
      <code class="literal">++</code> によるインクリメントや <code class="literal">--</code>
      によるデクリメントもまた、ある意味では間接的な変更を要するものです。
    </p>
    <p class="para">
      直接的な変更の際には <span class="function"><a href="arrayaccess.offsetset.php" class="function">ArrayAccess::offsetSet()</a></span>
      がコールされますが、間接的な変更の際には
      <span class="function"><strong>ArrayAccess::offsetGet()</strong></span> がコールされます。この場合は
      <span class="function"><strong>ArrayAccess::offsetGet()</strong></span>
      の実装が参照を返せるようにしておく必要があります。
      そうしなければ <strong><code><a href="errorfunc.constants.php#constant.e-notice">E_NOTICE</a></code></strong> メッセージが発生します。
    </p>
  </p></blockquote>
 </div>




 <div class="refsect1 seealso" id="refsect1-arrayaccess.offsetget-seealso">
  <h3 class="title">参考</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="methodname"><a href="arrayaccess.offsetexists.php" class="methodname" rel="rdfs-seeAlso">ArrayAccess::offsetExists()</a> - オフセットが存在するかどうか</span></li>
   </ul>
  </p>
 </div>


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