-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathrand.xml
177 lines (174 loc) · 5.05 KB
/
rand.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 826073522514072830b63bee2b6135dc675ea45d Maintainer: HonestQiao Status: ready -->
<!-- CREDITS: mowangjuanzi, Luffy -->
<refentry xml:id="function.rand" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>rand</refname>
<refpurpose>产生一个随机整数</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>rand</methodname>
<void/>
</methodsynopsis>
<methodsynopsis>
<type>int</type><methodname>rand</methodname>
<methodparam><type>int</type><parameter>min</parameter></methodparam>
<methodparam><type>int</type><parameter>max</parameter></methodparam>
</methodsynopsis>
<simpara>
如果没有提供可选参数 <parameter>min</parameter> 和
<parameter>max</parameter> 调用 <function>rand</function>
会返回 0 到 <function>getrandmax</function>
之间的伪随机整数。例如想要 5 到 15(包括 5 和 15)之间的随机数,用
<literal>rand(5, 15)</literal>。
</simpara>
&caution.cryptographically-insecure;
<note>
<simpara>
在某些平台下(例如 Windows)<function>getrandmax</function>
只有 32767。如果需要的范围大于 32767,那么指定 <parameter>min</parameter>
和 <parameter>max</parameter> 参数就可以生成更大的数了,或者考虑用
<function>mt_rand</function> 来替代之。
</simpara>
</note>
<note>
<simpara>
自 PHP 7.1.0 起,<function>rand</function> 和 <function>mt_rand</function>
使用相同的随机数生成器。为了保持向后兼容性,<function>rand</function> 允许
<parameter>max</parameter> 小于 <parameter>min</parameter>,而不是像
<function>mt_rand</function> 一样,返回 &false;。
</simpara>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>min</parameter></term>
<listitem>
<para>
返回的最低值(默认:0)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>max</parameter></term>
<listitem>
<para>
返回的最高值(默认:<function>getrandmax</function>)
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
介于 <parameter>min</parameter> (或是 0)和 <parameter>max</parameter> (或
<function>getrandmax</function>,包含该值)之间的伪随机值。
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.2.0</entry>
<entry>
<function>rand</function> 已收到模偏差的 <link
linkend="migration72.incompatible.rand-mt_rand-output">错误修复</link>。这意味着使用特定种子生成的序列可能与
64 位机器上的 PHP 7.1.0 不同。
</entry>
</row>
<row>
<entry>7.1.0</entry>
<entry>
<function>rand</function> <link linkend="migration71.incompatible.rand-srand-aliases">成为</link> <function>mt_rand</function> 的别名。
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>rand</function> 例子</title>
<programlisting role="php">
<![CDATA[
<?php
echo rand(), "\n";
echo rand(), "\n";
echo rand(5, 15), "\n";
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
7771
22264
11
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<warning>
<para>
<parameter>min</parameter> <parameter>max</parameter> 的范围必须在 <function>getrandmax</function>
范围内。即 (<parameter>max</parameter> - <parameter>min</parameter>) <=
<function>getrandmax</function>。否则,<function>rand</function> 可能会返回质量差的随机数。
</para>
</warning>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>srand</function></member>
<member><function>getrandmax</function></member>
<member><function>mt_rand</function></member>
<member><function>random_int</function></member>
<member><function>random_bytes</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->