From 06588ac1ee98a18ffb5d50857fd1a69bd5710f9e Mon Sep 17 00:00:00 2001 From: Takuya Aramaki Date: Sun, 11 May 2025 23:16:15 +0900 Subject: [PATCH 1/5] =?UTF-8?q?mt=5Frand()=20=E3=81=AFPHP=208.0=E4=BB=A5?= =?UTF-8?q?=E9=99=8DValueError=20=E3=82=92=E3=82=B9=E3=83=AD=E3=83=BC?= =?UTF-8?q?=E3=81=99=E3=82=8B=20(php/doc-en#4660)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/random/functions/mt-rand.xml | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/reference/random/functions/mt-rand.xml b/reference/random/functions/mt-rand.xml index d1d36ff42ff..bdc15c39b49 100644 --- a/reference/random/functions/mt-rand.xml +++ b/reference/random/functions/mt-rand.xml @@ -1,6 +1,6 @@ - + @@ -65,10 +65,19 @@ min (あるいは 0) から max (あるいは mt_getrandmax、それぞれ端点を含む) までの間のランダムな整数値を返します。 - maxmin より小さい場合は - &false; を返します。 + + &reftitle.errors; + + + + maxmin より小さい場合 + ValueError がスローされます。 + + + + &reftitle.changelog; @@ -81,6 +90,14 @@ + + 8.0.0 + + maxmin より小さい場合は + ValueError がスローされます。 + 以前は E_WARNING が発生し、関数は &false; を返していました。 + + 7.2.0 @@ -92,7 +109,7 @@ 7.1.0 - rand は、mt_rand の + rand は、mt_randエイリアスになりました。 From 4c345d369a99e3b25202663858a5b4aa2281c47f Mon Sep 17 00:00:00 2001 From: Takuya Aramaki Date: Sun, 11 May 2025 23:21:33 +0900 Subject: [PATCH 2/5] =?UTF-8?q?`getrandmax`=E3=81=8C=E5=B0=8F=E3=81=95?= =?UTF-8?q?=E3=81=84=E3=81=AE=E3=81=AFPHP=207.1=E3=81=BE=E3=81=A7=E3=81=A7?= =?UTF-8?q?=E3=81=82=E3=82=8B=E3=81=93=E3=81=A8=E3=82=92=E6=98=8E=E7=A4=BA?= =?UTF-8?q?=20(php/doc-en#4664)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/random/functions/rand.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/reference/random/functions/rand.xml b/reference/random/functions/rand.xml index fc6fc782abc..cb2b870387b 100644 --- a/reference/random/functions/rand.xml +++ b/reference/random/functions/rand.xml @@ -1,6 +1,6 @@ - + @@ -22,15 +22,15 @@ オプションの引数 min,max を省略してコールした場合、rand は 0 と - getrandmax の間の擬似乱数(整数)を返します。 + getrandmax の間の擬似乱数(整数)を返します。 例えば、5 から 15 まで(両端を含む)の乱数を得たい場合、 rand(5, 15) とします。 &caution.cryptographically-insecure; - (Windows のような)いくつかのプラットフォームでは、getrandmax - は 32767 と小さな値となっています。 + PHP 7.1.0 より前のバージョンでは、(Windows のような)いくつかのプラットフォームにおいて + getrandmax は 32767 と小さな値となっていました。 32767 より広い範囲にしたい場合、 min および max を指定することで、 これより大きな範囲の乱数を生成することができます。 @@ -102,7 +102,7 @@ 7.1.0 - rand は、mt_rand の + rand は、mt_randエイリアスになりました。 From 322ef0828f1caa7b27f2b50f1b6e611e448126dc Mon Sep 17 00:00:00 2001 From: Takuya Aramaki Date: Sun, 11 May 2025 23:23:24 +0900 Subject: [PATCH 3/5] =?UTF-8?q?=E8=AA=A4=E5=AD=97=E8=A8=82=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/random/functions/rand.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/reference/random/functions/rand.xml b/reference/random/functions/rand.xml index cb2b870387b..1b131724ad9 100644 --- a/reference/random/functions/rand.xml +++ b/reference/random/functions/rand.xml @@ -143,9 +143,9 @@ echo rand(5, 15), "\n"; min から max - までの幅を mt_getrandmax の範囲内におさめる必要があります。 + までの幅を getrandmax の範囲内におさめる必要があります。 つまり、(max - - min) <= mt_getrandmax + min) <= getrandmax でなければいけないということです。この範囲をこえてしまうと、 rand が返す値のランダム性が、 低品質になってしまいます。 From ac491531f0553625f2eec29a36107a72070cd738 Mon Sep 17 00:00:00 2001 From: Takuya Aramaki Date: Sun, 11 May 2025 23:48:17 +0900 Subject: [PATCH 4/5] =?UTF-8?q?Mt19937=20=E3=81=AE=E9=87=8D=E8=A4=87?= =?UTF-8?q?=E3=81=AB=E3=81=A4=E3=81=84=E3=81=A6=E3=81=AE=E8=A8=B3=E3=82=92?= =?UTF-8?q?=E6=94=B9=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language-snippets.ent | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/language-snippets.ent b/language-snippets.ent index e5dfcfc724b..d1d40eab12b 100644 --- a/language-snippets.ent +++ b/language-snippets.ent @@ -35,16 +35,16 @@ xmlns="http://docbook.org/ns/docbook">この関数は PHP 5.3.0 で 暗黙、または明示的にランダムなシードに依存する場合、 - 重複がそれ(4,294,967,296 個)よりも早く発生します。 - 誕生日のパラドックスによると、80,000 個以下のランダムな値を生成した場合でも、 - シードの重複が 50% の確率で発生します。 - 重複したシードの 10% が、ざっと 30,000 個のランダムな値を生成したあとに発生します。 + 重複がそれ(4,294,967,296 個)よりもかなり早く発生します。 + 誕生日のパラドックスによると、80,000 個以下のランダムなシードを生成した場合でも、 + 50% の確率で重複したシードが存在します。 + ざっと 30,000 個のランダムなシードを生成すると、10% の確率で重複したシードが存在します。 このため、無視できる確率以上に重複したシーケンスが発生してはいけないアプリケーションでは、Mt19937 は適していません。 再現可能なシードが必須の場合、 Random\Engine\Xoshiro256StarStarRandom\Engine\PcgOneseq128XslRr64 - が、ランダムな値が衝突しにくく、より大きなシードをサポートしています。 + が、ずっと大きなシードをサポートしているため、衝突の可能性が低いです。 再現可能なシードが必須でない場合、 Random\Engine\Secure が、暗号学的にセキュアなランダム性を提供します。 @@ -354,7 +354,7 @@ xmlns="http://docbook.org/ns/docbook">この機能は PHP 8.4.0 で xmlns="http://docbook.org/ns/docbook">この関数は PHP 8.4.0 で 非推奨になります。この関数に頼らないことを強く推奨します。'> -きっと +きっと 将来 削除 されるでしょう。'> @@ -678,7 +678,7 @@ xmlns="http://docbook.org/ns/docbook">この関数は PHP 8.1.0 で - SORT_NATURAL - 要素の比較を文字列として行い、 + SORT_NATURAL - 要素の比較を文字列として行い、 natsort と同様の「自然順」で比較します。 @@ -1318,7 +1318,7 @@ $font = 'SomeFont'; mb_regex_encoding で指定した文字エンコーディングを、 この関数の文字エンコーディングとして使用します。'> -encoding +encoding パラメータには文字エンコーディングを指定します。省略した場合、もしくは &null; の場合は、 内部文字エンコーディングを使用します。'> @@ -1588,7 +1588,7 @@ object手続き型のみ: date_crea が返す DateTime オブジェクト'> object -手続き型のみ: +手続き型のみ: date_create が返す DateTime オブジェクト。 この関数は、このオブジェクトを変更します。'> @@ -1651,7 +1651,7 @@ object手続き型のみ: date_crea この関数は、HTML4 のパーサを使って入力をパースします。モダンなWebブラウザが採用している HTML5 のパースルールとは異なります。入力によっては、このことが原因で異なるDOM構造になるかもしれません。よって、この関数はHTMLを無害化する目的で安全に使えません。 - HTML をパースする挙動は、利用している + HTML をパースする挙動は、利用している libxml のバージョンに依存します。 特にエッジケースやエラーハンドリングについてそれが当てはまります。 HTML5 に準拠したパースを行うには、PHP 8.4 で追加される @@ -2170,7 +2170,7 @@ PECL 拡張モジュールのインストール という章にありま といった関連する情報については、次の場所にあります。'> PECL +しかし、ソースコードは PECL SVN から取得できます。'> - この関数は Imagick 3.4.4 以降では 非推奨 になりました。この関数に依存したコードを書くのはやめましょう。'> @@ -4473,7 +4473,7 @@ local: { 数値の後にドル記号 $ を続けます。 - + フラグ一覧 @@ -5268,7 +5268,7 @@ xmlns="http://docbook.org/ns/docbook">この関数は、PECL uopz 5.0.0 たいていの場合は、正しい SSL 証明書を持つサーバーと通信するならこれを変更する必要はありません。 OpenSSL が、よく知られた CA バンドルを使うように設定されているからです。 - + デフォルトの CA バンドルを上書きすることもできます。 openssl.cafile あるいは openssl.capath を設定すればグローバルに変更でき、コンテキストオプション From a5e18efbdf0bca6e8a31a813bc0bc5f7d9b9748a Mon Sep 17 00:00:00 2001 From: Takuya Aramaki Date: Tue, 13 May 2025 01:07:11 +0900 Subject: [PATCH 5/5] =?UTF-8?q?=E3=80=8C=E9=87=8D=E8=A4=87=E3=81=97?= =?UTF-8?q?=E3=81=9F=E3=82=B7=E3=83=BC=E3=83=89=E3=81=8C=E5=AD=98=E5=9C=A8?= =?UTF-8?q?=E3=81=97=E3=81=BE=E3=81=99=E3=80=8D=E2=86=92=E3=80=8C=E3=82=B7?= =?UTF-8?q?=E3=83=BC=E3=83=89=E3=81=8C=E9=87=8D=E8=A4=87=E3=81=97=E3=81=BE?= =?UTF-8?q?=E3=81=99=E3=80=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language-snippets.ent | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/language-snippets.ent b/language-snippets.ent index d1d40eab12b..993acd54337 100644 --- a/language-snippets.ent +++ b/language-snippets.ent @@ -37,8 +37,8 @@ xmlns="http://docbook.org/ns/docbook">この関数は PHP 5.3.0 で 暗黙、または明示的にランダムなシードに依存する場合、 重複がそれ(4,294,967,296 個)よりもかなり早く発生します。 誕生日のパラドックスによると、80,000 個以下のランダムなシードを生成した場合でも、 - 50% の確率で重複したシードが存在します。 - ざっと 30,000 個のランダムなシードを生成すると、10% の確率で重複したシードが存在します。 + 50% の確率でシードが重複します。 + ざっと 30,000 個のランダムなシードを生成すると、10% の確率でシードが重複します。 このため、無視できる確率以上に重複したシーケンスが発生してはいけないアプリケーションでは、Mt19937 は適していません。