ホームページ  >  記事  >  バックエンド開発  >  PHP 数学関数の実践 3: ランダム関数 rand() の賢い使い方

PHP 数学関数の実践 3: ランダム関数 rand() の賢い使い方

藏色散人
藏色散人オリジナル
2021-07-28 11:31:403186ブラウズ

PHP数学関数演習2: Round()関数の万能応用」では、PHP数学関数round(浮動小数点数の四捨五入)の役割を具体的なコードを通して紹介します。例)とその使い方を、シンプルでわかりやすいものにしています。

この記事では、引き続き PHP でよく使われる数学関数 rand の使い方を紹介していきますが、なぜよく使われると言われているのでしょうか?おそらく、PHP 開発プロセスでは乱数の使用が比較的一般的であるため、 rand 関数の役割はランダムな整数を生成することです。

古い伝統に従って、「ランダムな 11 文字の英数字文字列を生成する PHP スクリプトを作成してください。」という具体的な質問から始めます。

# 全員に 3 秒以内にこの問題の解決策を考えてもらいます

1~

2~

3~

# # #単純すぎます!

まず最初に、難しい作業はせずに、PHP サンプル ファイル demo.php を作成します


##具体的なコードは次のとおりです: PHP 数学関数の実践 3: ランダム関数 rand() の賢い使い方

<?php
$x = rand(10e12, 10e16);
echo base_convert($x, 10, 36)."\n";

上記のコード パラメータ 10e12 は返される最小数を表し、パラメータ 10e16 は返される最大数を表します。次に、生成されたランダム整数 $x は、base_convert 関数を通じて基数間で変換されます。

これを実行して、出力が文字と数字からなるランダムな 11 文字の文字列であるかどうかを確認してみましょう。

出力結果:

ptkkl0hphh9

再度更新すると

m71otm3mmma

となり、問題は解決しました。

関数の概要:

rand() 関数の構文「rand();」または「rand(min,max);」。 10 から 100 までのランダムな整数が必要な場合は、rand (10,100) を使用します。

base_convert() 関数の構文は「base_convert(number, frombase,tobase);」です。内部のパラメータはそれぞれ、変換される数値、指定された数値の元の基数、および変換される基数を表します。 。 (2 と 36 を含む 2 と 36 の間では、10 進数より大きい数値は文字 a ~ z で表されます。たとえば、a は 10 を表し、b は 11 を表し、z は 35 を表します)

注: mt_rand() 関数はgenerated ランダムな値に適した選択肢です。結果を返す速度は rand() 関数の 4 倍です。これについては、次の記事で紹介します。さらに注目してください ~

PHP 中国語 Web サイト プラットフォーム上の多数のビデオ 教育リソース。誰でも学習できます:

https://www.php.cn/course/list/29/type/2.html

以上がPHP 数学関数の実践 3: ランダム関数 rand() の賢い使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。