## 新しい関数

PHP 5.3 で加わった新しい関数は以下の通りです。

PHP コア:

- array_replace() - 渡された配列の要素の値が一致するものを置き換え、ひとつの配列にする
- array_replace_recursive() - 渡された配列の要素の値が一致するものを再帰的に置き換え、ひとつの配列にする
- class_alias() - ユーザー定義のクラスのエイリアスを作成する
- forward_static_call() - はじめのパラメータとして渡されたユーザー定義の静的関数を呼び出す。
- forward_static_call_array() - はじめのパラメータとして渡されたユーザー定義の静的関数を呼び出すが、 引数は配列として渡す。
- gc_collect_cycles() - 既存ガベージサイクルを強制的に収集する
- gc_disable() - 循環参照コレクタを無効にする
- gc_enable() - 循環参照コレクタを有効にする
- gc_enabled() - 循環参照コレクタの状態を返す
- get_called_class() - 静的メソッドのコール元のクラス名を取得する。
- gethostname() - ローカルマシンの現在のホスト名を取得する
- header_remove() - header()関数 で以前設定したHTTPヘッダを削除する
- lcfirst() - 文字列の最初の文字を小文字にする
- parse_ini_string() - 設定文字列をパースする。
- quoted_printable_encode() - 8 ビット文字列を quoted-printable 文字列に変換する
- str_getcsv() - CSV文字列を配列にパースする。
- stream_context_set_default() - デフォルトのストリームコンテキストを設定する。
- stream_supports_lock() - ストリームがロッキングをサポートする場合に `TRUE` を返す。
- stream_context_get_params() - ストリームのコンテキストからパラメータを集める。
- streamWrapper::stream_cast() - 既に存在しているリソースを集める。
- streamWrapper::stream_set_option() - ストリームのオプションを変更する。

日付・時刻関数:

- date_add() - 年月日時分秒の値を DateTime オブジェクトに加える
- date_create_from_format() - 指定した書式でフォーマットした新しい DateTime オブジェクトを返す
- date_diff() - ふたつの DateTime オブジェクトの差を返す
- date_get_last_errors() - 日付/時刻 の操作中に発生した最後の警告やエラーを返す
- date_parse_from_format() - 指定した日付についての情報を取得する
- date_sub() - 年月日時分秒の値を DateTime オブジェクトから引く
- timezone_version_get() - タイムゾーンデータベースのバージョンを取得する

GMP関数:

- gmp_testbit() - ビットが設定されているかどうかを調べる

Hash関数:

- hash_copy() - ハッシュコンテキストをコピーする

IMAP 関数:

- imap_gc() - IMAP のキャッシュをクリアする
- imap_utf8_to_mutf7() - UTF-8 文字列を 修正UTF-7 にエンコードする
- imap_mutf7_to_utf8() - 修正UTF-7 を UTF-8 にデコードする

JSON関数:

- json_last_error() - JSON関連の処理で直近に発生したエラーを返す

MySQL 改良版:

- mysqli_fetch_all() - 結果のすべての行を連想配列・数値添字配列あるいはその両方の形式で取得する
- mysqli_get_connection_stats() - クライアント接続に関する統計情報を返す
- mysqli_poll() - 接続を問い合わせる
- mysqli_reap_async_query() - 非同期クエリから結果を取得する

OpenSSL 関数:

- openssl_random_pseudo_bytes() - ランダムな疑似バイトで、指定された長さを埋めた文字列を返す

PCNTL 関数:

- pcntl_signal_dispatch() - ペンディングシグナル用のハンドラをコールする
- pcntl_sigprocmask() - ブロックされたシグナルを設定あるいは取得する
- pcntl_sigtimedwait() - タイムアウトつきでシグナルを待つ
- pcntl_sigwaitinfo() - シグナルを待つ

PCRE 関数:

- preg_filter() - 正規表現の検索と置換を行い、パターンにマッチした結果のみを返す

セマフォ関数:

- msg_queue_exists() - メッセージキューが存在するかどうかを調べる
- shm_has_var() - 特定のキーが共有メモリセグメントに存在するかどうかを調べる

以下の関数はPHP本体に組み込まれました。つまり、これらは PHP を実行するオペレーティングシステムに関係なく使えるということです。

- acosh()
- asinh()
- atanh()
- expm1()
- log1p()