PHP8.2 その2

PHP8.2その2
前回に引き続ききになったやつ。

Add true type
https://wiki.php.net/rfc/true-type
true型

Allow null and false as stand-alone types
https://wiki.php.net/rfc/null-false-standalone-types
null型、false型

つまりtrueを返す、nullを返す、falseを返す。
そもそもがUNION型の一部としてfalse型を使えるようになっていたようだが単独でも使えるようになった、
でfalseもあるならtrueもと。

例にあるのはnull|falseは今まで使えなかった。
組み込み関数のgmp_random_seed()はnull|falseを返していたがfalse型はなかったので正確にはnull|boolとなるが
実際にはtrueは返すことがなかったのでおかしいと。
で8.2でfalse型を返すので正しい書き方ができるように。

ちなみに

のようにboolの代わりにfalse|trueはエラーになる。

Random Extension 5.x
https://wiki.php.net/rfc/rng_extension

PHPの乱数は今までいろいろ問題があって直してはきた。

記事中にもありますが「一貫して壊れてる」とかあまりお目にかかれない言葉。

で、今回の8.2では

これが

こうなってしまうと(https://3v4l.org/とかで実際に上記を実行すると65ではなく7になってました)

間のstr_shuffleが影響してしまっていると。
てことでそれらを解決するためのクラス
Random\Randomizer クラス
https://www.php.net/manual/ja/class.random-randomizer.php

About the author

naito06

C++やったり、PythonやったりPHPだったり。

Add Comment

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

By naito06

最近の投稿

アーカイブ

カテゴリー

タグクラウド

コーポレートサイト