PHP でランダムな真偽値を取得する
2023-09-25 21:56:32
質問
PHP でランダムな真偽値を取得する最もエレガントな方法は何でしょうか?
思いつくのは
$value = (bool)rand(0,1);
しかし、整数をbooleanにキャストすることは何か不都合をもたらすのでしょうか?
それとも、これは "公式"な方法なのでしょうか?
どのように解決するのですか?
ブーリアンキャストをしたくない場合(それが悪いわけではありませんが)、このように簡単にブーリアンにすることができます。
$value = rand(0,1) == 1;
基本的に、乱数値が
1
であれば
true
そうでなければ
false
. もちろん
0
または
1
すでに
を演じる
をブーリアン値として扱うので、このように
if (rand(0, 1)) { ... }
は完全に有効な条件であり、期待通りに動作します。
あるいは
mt_rand()
を使うこともできます (これは
rand()
). さらに
openssl_random_pseudo_bytes()
というコードもあります。
$value = ord(openssl_random_pseudo_bytes(1)) >= 0x80;
更新情報
PHP 7.0では
random_int()
これは、暗号的に安全な擬似乱数を生成します。
$value = (bool)random_int(0, 1);
関連
-
[解決済み】 PHP 未定義関数の呼び出し
-
[解決済み] argparseによるブーリアン値のパース
-
[解決済み] $_SERVER['DOCUMENT_ROOT'] と $_SERVER['HTTP_HOST'] の違いについて
-
[解決済み] JavaScriptでランダムな文字列/文字を生成する
-
[解決済み] JavaScriptで特定の範囲のランダムな整数を生成する?
-
[解決済み] 乱数(int)を生成する方法を教えてください。
-
[解決済み] JavaScriptで2つの数値の間の乱数を生成する
-
[解決済み] ランダムな文字列を使用するこのコードは、なぜ "hello world" と表示されるのですか?
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「セッションキャッシュリミッターを送信できません - ヘッダーはすでに送信されています」【重複】。
-
[解決済み】新しいPHPMailerはPHPMailerAutoload.phpが必要?
-
[解決済み】php, mysql - データベースへの接続数が多すぎるエラー
-
[解決済み】Chrome net::ERR_INCOMPLETE_CHUNKED_ENCODING エラーが発生しました。
-
[解決済み] SQLSTATE[HY093]: 無効なパラメータ番号: パラメータが定義されていません
-
[解決済み】mysqli_select_db()は、パラメータ1がmysqliであることを期待し、文字列が与えられる。
-
[解決済み] [Solved] Fatal error: 非オブジェクトのメンバ関数fetch_assoc()の呼び出し [重複]。
-
[解決済み】Wordpressの子テーマのstyle.cssが効かない。
-
[解決済み] mysql_field_nameを新しいmysqliに変更します。
-
[解決済み] PHP 未定義関数への呼び出し