<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/migration85.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ja',
  ),
  'this' => 
  array (
    0 => 'migration85.other-changes.php',
    1 => 'その他の変更',
    2 => 'その他の変更',
  ),
  'up' => 
  array (
    0 => 'migration85.php',
    1 => 'PHP 8.4.x から PHP 8.5.x への移行',
  ),
  'prev' => 
  array (
    0 => 'migration85.deprecated.php',
    1 => 'PHP 8.5.x で推奨されなくなる機能',
  ),
  'next' => 
  array (
    0 => 'migration85.windows-support.php',
    1 => 'Windows のサポート',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    'path' => 'appendices/migration85/other-changes.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="migration85.other-changes" class="sect1">
 <h2 class="title">その他の変更</h2>

 <div class="sect2" id="migration85.other-changes.core">
  <h3 class="title">PHP コア</h3>

  <div class="sect3" id="migration85.other-changes.core.core">
   <h4 class="title">Core</h4>

   <p class="simpara">
    macOS における高精度なタイマー(<span class="function"><a href="function.hrtime.php" class="function">hrtime()</a></span>)
    は、<code class="code">mach_absolute_time()</code>
    ではなく、推奨されている
    <code class="code">clock_gettime_nsec_np(CLOCK_UPTIME_RAW)</code>
    API を使うようになりました。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.core.cgi-cli">
   <h4 class="title">CGI/CLI</h4>

   <p class="simpara">
    <strong class="option unknown">-z</strong> や、
    <strong class="option unknown">--zend-extension</strong> オプションは、
    機能していないため削除されました。
    <strong class="option unknown">-d zend_extension=[path]</strong> を代わりに使ってください。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.core.pdo-odbc">
   <h4 class="title">PDO_ODBC</h4>

   <p class="simpara">
    大きなカラムのフェッチ動作が変更されました。
    256 バイトのブロックをフェッチする代わりに、
    PDO_ODBC はより大きなブロックサイズをフェッチしようとするようになります。
    現状このブロックサイズは、
    ページサイズから文字列オーバーヘッドを差し引いたサイズです。
    SQLGetData で SQL_NO_TOTAL を返すドライバも同様に、
    適切に処理されるようになります。
    この変更で、互換性とパフォーマンスが改善するはずです。
    
   </p>

  </div>

 </div>

 <div class="sect2" id="migration85.other-changes.sapi">
  <h3 class="title">SAPI モジュールへの変更</h3>

  <div class="sect3" id="migration85.other-changes.sapi.cli">
   <h4 class="title">CLI</h4>

   <p class="simpara">
    <span class="function"><a href="function.cli-set-process-title.php" class="function">cli_set_process_title()</a></span>
    に長過ぎるタイトルを設定しようとした場合、
    黙ってタイトルを切り詰めるのではなく、
    失敗するようになりました。
   </p>

   <p class="simpara">
    ビルトインのデフォルト値から変更されている INI
    設定を出力するオプションとして、
    <strong class="option unknown">--ini=diff</strong> オプションが追加されました。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.sapi.fpm">
   <h4 class="title">FPM</h4>

   <p class="simpara">
    httpd ProxyPass を経由した FPM は、
    オプションでスクリプトの完全なパスをデコードします。
    この新しい振る舞いは、
    追加された fastcgi.script_path_encoded INI ディレクティブで抑止できます。
   </p>

   <p class="simpara">
    FPM のログの長さの上限は、
    <a href="install.fpm.configuration.php#log-limit" class="link">log_limit</a> の値を尊重するようになりました。
   </p>

  </div>

 </div>

 <div class="sect2" id="migration85.other-changes.functions">
  <h3 class="title">変更された関数</h3>

  <div class="sect3" id="migration85.other-changes.functions.intl">
   <h4 class="title">Intl</h4>

   <p class="simpara">
    <span class="function"><a href="function.grapheme-extract.php" class="function">grapheme_extract()</a></span> は、
    無効な開始バイトをスキップする際に <code class="parameter">$next</code>
    の値を適切に割り当てるようになりました。
    これより前のバージョンでは、grapheme 境界の終端ではなく、
    先頭を指すケースがありました。
   </p>

   <p class="simpara">
    <span class="function"><a href="transliterator.geterrorcode.php" class="function">transliterator_get_error_code()</a></span>,
    <span class="function"><a href="transliterator.geterrormessage.php" class="function">transliterator_get_error_message()</a></span>,
    <span class="methodname"><a href="transliterator.geterrorcode.php" class="methodname">TransLiterator::getErrorCode()</a></span>,
    <span class="methodname"><a href="transliterator.geterrormessage.php" class="methodname">TransLiterator::getErrorMessage()</a></span> の戻り値の
    union 型から <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> を削除しました。
    <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> を返すことは実際には起こり得なかったからです。
   </p>

   <p class="simpara">
    以下の関数は、<code class="parameter">$locale</code> 引数をサポートしました:
    <span class="function"><a href="function.grapheme-strpos.php" class="function">grapheme_strpos()</a></span>,
    <span class="function"><a href="function.grapheme-stripos.php" class="function">grapheme_stripos()</a></span>,
    <span class="function"><a href="function.grapheme-strrpos.php" class="function">grapheme_strrpos()</a></span>,
    <span class="function"><a href="function.grapheme-strripos.php" class="function">grapheme_strripos()</a></span>,
    <span class="function"><a href="function.grapheme-substr.php" class="function">grapheme_substr()</a></span>,
    <span class="function"><a href="function.grapheme-strstr.php" class="function">grapheme_strstr()</a></span>,
    <span class="function"><a href="function.grapheme-stristr.php" class="function">grapheme_stristr()</a></span>
    
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.ldap">
   <h4 class="title">LDAP</h4>

   <p class="simpara">
    <span class="function"><a href="function.ldap-get-option.php" class="function">ldap_get_option()</a></span> は、
    <span class="function"><a href="function.ldap-set-option.php" class="function">ldap_set_option()</a></span> と同様に、
    <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong> の接続を受け付けるようになりました。
    これは、グローバルオプションを取得できるようにするためです。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.libxml">
   <h4 class="title">libxml</h4>

   <p class="simpara">
    <span class="function"><a href="function.libxml-set-external-entity-loader.php" class="function">libxml_set_external_entity_loader()</a></span> は、
    戻り値の型を正式に <span class="type"><a href="language.types.singleton.php" class="type true">true</a></span> としました。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.openssl">
   <h4 class="title">OpenSSL</h4>

   <p class="simpara">
    <span class="function"><a href="function.openssl-public-encrypt.php" class="function">openssl_public_encrypt()</a></span> と
    <span class="function"><a href="function.openssl-private-decrypt.php" class="function">openssl_private_decrypt()</a></span> は、
    OAEP パディング向けのハッシュダイジェストアルゴリズムを指定するために、
    新しく <code class="parameter">$digest_algo</code>
    パラメータを設定できるようになりました。
   </p>

   <p class="simpara">
    <span class="function"><a href="function.openssl-sign.php" class="function">openssl_sign()</a></span> と
    <span class="function"><a href="function.openssl-verify.php" class="function">openssl_verify()</a></span> は、
    よりセキュアな RSA PSS パディングを使えるようにするために、
    新しく <code class="parameter">$padding</code>
    パラメータを設定できるようになりました。
   </p>

   <p class="simpara">
    <span class="function"><a href="function.openssl-cms-encrypt.php" class="function">openssl_cms_encrypt()</a></span> の <code class="parameter">$cipher_algo</code>
    パラメーターに、暗号名を示す文字列を指定できるようになりました。
    これによって、認証付きのエンベロープデータ向けに、
    AES GCM 暗号アルゴリズムを含むより多くのアルゴリズムを使えるようになります。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.pcntl">
   <h4 class="title">PCNTL</h4>

   <p class="simpara">
    <span class="function"><a href="function.pcntl-exec.php" class="function">pcntl_exec()</a></span> は、
    戻り値の型を正式に <span class="type"><a href="language.types.singleton.php" class="type false">false</a></span> としました。
   </p>

   <p class="simpara">
    <span class="function"><a href="function.pcntl-waitid.php" class="function">pcntl_waitid()</a></span> は、
    子プロセスに関する様々なプラットフォーム固有のメトリクスを収集するため、
    追加で resource_usage 引数を受け取るようになりました。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.pdo-pgsql">
   <h4 class="title">PDO_PGSQL</h4>

   <p class="simpara">
    <span class="methodname"><a href="pdo-pgsql.copyfromarray.php" class="methodname">Pdo\Pgsql::copyFromArray()</a></span> は、
    <span class="type"><a href="language.types.iterable.php" class="type iterable">iterable</a></span> の入力をサポートするようになりました。
   </p>

   <p class="simpara">
    <span class="methodname"><strong>Pdo\Pgsql::setAttribute()</strong></span> と
    <span class="methodname"><strong>Pdo\Pgsql::prepare()</strong></span> は、
    lazy フェッチモードに入ることを示すために、
    <strong><code><a href="pdo.constants.php#pdo.constants.attr-prefetch">PDO::ATTR_PREFETCH</a></code></strong> に 0 を設定できるようになりました。
    このモードの場合、Statement は並列に実行できません。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.pgsql">
   <h4 class="title">PostgreSQL</h4>

   <p class="simpara">
    <span class="function"><a href="function.pg-copy-from.php" class="function">pg_copy_from()</a></span> は、
    <span class="type"><a href="language.types.iterable.php" class="type Iterable">Iterable</a></span> の入力をサポートするようになりました。
   </p>

   <p class="simpara">
    <span class="function"><a href="function.pg-connect.php" class="function">pg_connect()</a></span> は、
    connection_string 引数に null
    バイトが含まれているかをチェックするようになりました。
   </p>

   <p class="simpara">
    <span class="function"><strong>pg_close_stmt()</strong></span> は、
    statement_name 引数に null
    バイトが含まれているかをチェックするようになりました。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.posix">
   <h4 class="title">POSIX</h4>

   <p class="simpara">
    <span class="function"><a href="function.posix-ttyname.php" class="function">posix_ttyname()</a></span> は、
    ファイルディスクリプタが無効な場合に、
    last_error に EBADF を設定するようになりました。
   </p>

   <p class="simpara">
    <span class="function"><a href="function.posix-isatty.php" class="function">posix_isatty()</a></span> は、
    ファイルディスクリプタが無効な場合に、
    <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> を発生させるようになりました。
   </p>

   <p class="simpara">
    <span class="function"><a href="function.posix-fpathconf.php" class="function">posix_fpathconf()</a></span> は、
    ファイルディスクリプタが無効かどうかをチェックし、
    無効な場合に last_error に EBADF を設定しつつ、
    <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> を発生させるようになりました。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.reflection">
   <h4 class="title">Reflection</h4>

   <p class="simpara">
    <span class="methodname"><a href="reflectionclass.tostring.php" class="methodname">ReflectionClass::__toString()</a></span>
    の列挙型の出力について、
    クラスが列挙型であることをより明確に示すように変更されました。
    また、列挙型の case は通常のクラス定数ではなく、
    列挙型の case であることを示すようになりました。
   </p>

   <p class="simpara">
    <span class="methodname"><a href="reflectionproperty.tostring.php" class="methodname">ReflectionProperty::__toString()</a></span> の、
    フックを持つプロパティの出力は、プロパティがどのフックを持つか、
    それらのフックが final かどうか、
    およびプロパティが仮想かどうかを示すように変更されました。
    これは、クラスがフックされたプロパティを含む場合の
    <span class="methodname"><a href="reflectionclass.tostring.php" class="methodname">ReflectionClass::__toString()</a></span>の出力にも影響します。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.sockets">
   <h4 class="title">Sockets</h4>

   <p class="simpara">
    <span class="function"><a href="function.socket-create.php" class="function">socket_create()</a></span>/<span class="function"><a href="function.socket-bind.php" class="function">socket_bind()</a></span> は、
    <strong><code>AF_PACKET</code></strong>
    ファミリのソケットを作成できるようになりました。
   </p>

   <p class="simpara">
    <span class="function"><a href="function.socket-getsockname.php" class="function">socket_getsockname()</a></span> は、
    <strong><code>AF_PACKET</code></strong> ソケットを指定すると、
    インターフェイスのインデックスとその文字列表現を取得します。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.functions.zlib">
   <h4 class="title">Zlib</h4>

   <p class="simpara">
    <span class="function"><a href="function.gzfile.php" class="function">gzfile()</a></span>, <span class="function"><a href="function.gzopen.php" class="function">gzopen()</a></span>,
    <span class="function"><a href="function.readgzfile.php" class="function">readgzfile()</a></span> 関数の
    <code class="parameter">$use_include_path</code> 引数の型が、
    <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> から <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span> に変更されました。
   </p>

   <p class="simpara">
    <span class="function"><a href="function.gzfile.php" class="function">gzfile()</a></span>,
    <span class="function"><a href="function.gzopen.php" class="function">gzopen()</a></span>,
    <span class="function"><a href="function.readgzfile.php" class="function">readgzfile()</a></span> 関数は、
    デフォルトのストリームコンテキストを尊重するようになりました。
   </p>

  </div>

 </div>

 <div class="sect2" id="migration85.other-changes.extensions">
  <h3 class="title">拡張モジュールへのその他の変更</h3>

  <div class="sect3" id="migration85.other-changes.extensions.curl">
   <h4 class="title">cURL</h4>

   <p class="simpara">
    <span class="function"><a href="function.curl-setopt.php" class="function">curl_setopt()</a></span> に指定する
    <strong><code><a href="curl.constants.php#constant.curlopt-followlocation">CURLOPT_FOLLOWLOCATION</a></code></strong> オプションの値が、
    boolean ではなく数値として扱われるようになりました。
    これは <strong><code>CURLFOLLOW_OBEYCODE</code></strong> と
    <strong><code>CURLFOLLOW_FIRSTONLY</code></strong> を処理するためです。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.extensions.fileinfo">
   <h4 class="title">Fileinfo</h4>

   <p class="simpara">
    file の magic データベースが、5.45 から 5.46 に更新されました。
   </p>

   <p class="simpara">
    <span class="function"><a href="function.finfo-close.php" class="function">finfo_close()</a></span> の戻り値の型が、
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span> ではなく、<span class="type"><a href="language.types.singleton.php" class="type true">true</a></span> に変更されました。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.extensions.intl">
   <h4 class="title">Intl</h4>

   <p class="simpara">
    Intl の内部エラー処理機構がモダンになり、
    どの呼び出しがどのエラーを引き起こしたかを、
    より正確に示せるようになりました。
    さらに、一部の ext/date の例外は、
    <span class="classname"><a href="class.intlexception.php" class="classname">IntlException</a></span> でラップされるようになっています。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.extensions.lexbor">
   <h4 class="title">Lexbor</h4>

   <p class="simpara">
    lexbor 拡張モジュールが追加されました。
    これは常に有効になっています。
    他の拡張モジュールで再利用できるようにするため、
    <a href="book.dom.php" class="link">ext/dom</a>
    から分離された laxbor ライブラリが含まれています。
    この新しい拡張機能は、ユーザーランドに直接公開されません。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.extensions.opcache">
   <h4 class="title">Opcache</h4>

   <p class="simpara">
    <a href="book.opcache.php" class="link">Opcache 拡張モジュール</a> は、
    常に PHP バイナリに組み込まれ、ロードされるようになりました。
    <a href="opcache.configuration.php#ini.opcache.enable" class="link">opcache.enable</a> と
    <a href="opcache.configuration.php#ini.opcache.enable-cli" class="link">opcache.enable_cli</a>
    の設定はまだ有効です。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.extensions.pcre">
   <h4 class="title">PCRE</h4>

   <p class="simpara">
    pcre2lib が、10.44 から 10.46 に更新されました。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.extensions.pdo-sqlite">
   <h4 class="title">PDO_Sqlite</h4>

   <p class="simpara">
    サポートされる最低リリースバージョンが、
    3.7.7 から 3.7.17 に変更されました。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.extensions.readline">
   <h4 class="title">Readline</h4>

   <p class="simpara">
    <span class="function"><a href="function.readline-add-history.php" class="function">readline_add_history()</a></span>,
    <span class="function"><a href="function.readline-clear-history.php" class="function">readline_clear_history()</a></span>,
    <span class="function"><a href="function.readline-callback-handler-install.php" class="function">readline_callback_handler_install()</a></span>
    の戻り値の型が、
    <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span> から <span class="type"><a href="language.types.singleton.php" class="type true">true</a></span> に変更されました。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.extensions.reflection">
   <h4 class="title">Reflection</h4>

   <p class="simpara">
    <span class="classname"><a href="class.reflectionconstant.php" class="classname">ReflectionConstant</a></span> クラスは、
    final ではなくなりました。
   </p>

  </div>

 </div>

 <div class="sect2" id="migration85.other-changes.ini">
  <h3 class="title">INI ファイルの扱いの変更</h3>

  <div class="sect3" id="migration85.other-changes.ini.core">
   <h4 class="title">PHP コア</h4>

   <p class="simpara">
    致命的なエラーにバックトレースを含めるかどうかを制御するために、
    fatal_error_backtraces INI ディレクティブが追加されました。
    
   </p>

   <p class="simpara">
    起動時にのみ有効な、max_memory_limit INI ディレクティブが追加されました。
    これは、起動時または実行時に設定可能な memory_limit の最大値を制御するためのものです。
    この値を超えると、-1 を設定しない限り警告が発生します。
    代わりに、memory_limit の値が、現在の max_memory_limit の値に設定されます。
    
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.ini.opcache">
   <h4 class="title">Opcache</h4>

   <p class="simpara">
    <a href="opcache.configuration.php#ini.opcache.file-cache" class="link">opcache.file_cache</a>
    で指定されたディレクトリがが読み取り専用だった場合をサポートするために、
    opcache.file_cache_read_only が追加されました。
    これは、読み取り専用ファイルシステム(例：読み取り専用 Docker コンテナ)向けです。
    <code class="literal">opcache.validate_timestamps=0</code>,
    <code class="literal">opcache.enable_file_override=1</code>,
    <code class="literal">opcache.file_cache_consistency_checks=0</code>
    の組み合わせで使うことを推奨します。
   </p>

   <blockquote class="note"><p><strong class="note">注意</strong>: 
    <span class="simpara">
     異なるビルドのPHP、
     異なるファイルパス、
     異なる設定(ロードされる拡張機能を含む)で生成されたキャッシュは、
     無視される可能性があります。
    </span>
   </p></blockquote>

   <p class="simpara">
    <a href="opcache.configuration.php#ini.opcache.jit-hot-loop" class="link">opcache.jit_hot_loop</a>
    のデフォルト値は、ループ反復回数の倍数にならないように、
    61 (素数) に設定されました。
    このパラメータには、素数の値を設定することを推奨します。
   </p>

   <p class="simpara">
    OPcache SHM が既にセットアップされている状態で、
    <a href="opcache.configuration.php#ini.opcache.memory-consumption" class="link">opcache.memory_consumption</a>
    の値を変更した場合に、正しく失敗を報告するようになりました。
    これより前のバージョンでは、黙って何もせず、
    PHPInfo で誤解を招く値を表示していました。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.ini.openssl">
   <h4 class="title">OpenSSL</h4>

   <p class="simpara">
    OpenSSL のライブラリコンテキストタイプを選択できるようにするため、
    openssl.libctx INI ディレクティブを追加しました。
    スレッドごとにカスタムの libctx を使うか、
    グローバルな、単一の libctx (デフォルト)を使えます。
   </p>

  </div>

 </div>

 <div class="sect2" id="migration85.other-changes.performance">
  <h3 class="title">パフォーマンスに関わる変更</h3>

  <div class="sect3" id="migration85.other-changes.performance.core">
   <h4 class="title">PHP コア</h4>

   <p class="simpara">
    <code class="code">match(true)</code> パターン向けに、
    boolean 値との同一性の比較に関する OPcode が削除されました。
   </p>

   <p class="simpara">
    <code class="code">=== []</code> と
    <code class="code">!== []</code> による比較について、
    OPcode の特殊化処理が追加されました。
   </p>

   <p class="simpara">
    例外オブジェクトを生成する速度が向上しました。
   </p>

   <p class="simpara">
    SSE2 を使用していたコードは、
    ARM NEON による SIMD 命令も使うように調整されました。
   </p>

   <p class="simpara">
    x86_64 または aarch64 アーキテクチャで Clang&gt;=19 
    を使用してコンパイルする場合、
    デフォルトで有効となる TAILCALL VM を導入しました。
    TAILCALL VM は、
    GCC コンパイル時に使用される HYBRID VM と同等の速度を実現します。
    これにより、Clang&gt;=19 でビルドされた PHP バイナリは、
    GCC でビルドされたバイナリと同等の速度を発揮します。
    他のコンパイラで使用される CALL VM のパフォーマンスも大幅に改善されました。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.performance.intl">
   <h4 class="title">Intl</h4>

   <p class="simpara">
    collator で文字列変換を行う際、余計な文字列コピーをしなくなりました。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.performance.mbstring">
   <h4 class="title">MBString</h4>

   <p class="simpara">
    SSE2 を使用していたコードは、
    ARM NEON による SIMD 命令も使うように調整されました。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.performance.opcache">
   <h4 class="title">Opcache</h4>

   <p class="simpara">
    Glibc 以外のビルドで JIT コンパイルされたコード中で、
    TLS 変数のフェッチ処理のパフォーマンスが向上しました。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.performance.reflection">
   <h4 class="title">Reflection</h4>

   <p class="para">
    以下のメソッドのパフォーマンスが向上しました:
    <ul class="simplelist">
     <li><span class="methodname"><a href="reflectionproperty.getvalue.php" class="methodname">ReflectionProperty::getValue()</a></span></li>
     <li><span class="methodname"><a href="reflectionproperty.getrawvalue.php" class="methodname">ReflectionProperty::getRawValue()</a></span></li>
     <li><span class="methodname"><a href="reflectionproperty.isinitialized.php" class="methodname">ReflectionProperty::isInitialized()</a></span></li>
     <li><span class="methodname"><a href="reflectionproperty.isinitialized.php" class="methodname">ReflectionProperty::isInitialized()</a></span></li>
     <li><span class="methodname"><a href="reflectionproperty.setvalue.php" class="methodname">ReflectionProperty::setValue()</a></span></li>
     <li><span class="methodname"><a href="reflectionproperty.setrawvalue.php" class="methodname">ReflectionProperty::setRawValue()</a></span></li>
    </ul>
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.performance.spl">
   <h4 class="title">SPL</h4>

   <p class="simpara">
    <span class="classname"><a href="class.splfixedarray.php" class="classname">SplFixedArray</a></span> の、
    多次元のアクセス処理と、メソッドのパフォーマンスが向上しました。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.performance.standard">
   <h4 class="title">Standard</h4>

   <p class="simpara">
    コールバックを指定した場合の、配列関数
    (<span class="function"><a href="function.array-find.php" class="function">array_find()</a></span>, <span class="function"><a href="function.array-filter.php" class="function">array_filter()</a></span>,
    <span class="function"><a href="function.array-map.php" class="function">array_map()</a></span>, <span class="function"><a href="function.usort.php" class="function">usort()</a></span>, ...)
    のパフォーマンスが向上しました。
   </p>

   <p class="simpara">
    <span class="function"><a href="function.urlencode.php" class="function">urlencode()</a></span> と
    <span class="function"><a href="function.rawurlencode.php" class="function">rawurlencode()</a></span> のパフォーマンスが向上しました。
   </p>

   <p class="simpara">
    一時的な文字列の生成と再パースを回避することで、
    <span class="function"><a href="function.unpack.php" class="function">unpack()</a></span> の、
    名前を付けない反復処理のパフォーマンスが向上しました。
   </p>

   <p class="simpara">
    <span class="function"><a href="function.pack.php" class="function">pack()</a></span> のパフォーマンスが向上しました。
   </p>

   <p class="simpara">
    <span class="function"><a href="function.array-chunk.php" class="function">array_chunk()</a></span> のパフォーマンスが少し向上しました。
   </p>

  </div>

  <div class="sect3" id="migration85.other-changes.performance.xml">
   <h4 class="title">XML</h4>

   <p class="simpara">
    <span class="classname"><a href="class.xmlreader.php" class="classname">XMLReader</a></span> の、
    プロパティアクセスのパフォーマンスが向上しました。
   </p>

   <p class="simpara">
    <span class="classname"><a href="class.xmlwriter.php" class="classname">XMLWriter</a></span> のパフォーマンスが向上し、
    メモリ使用量が削減されました。
   </p>

  </div>

 </div>

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