📄 function.php-shuffle.htm
字号:
<html>
<head>
<meta content="text/html; charset=gb2312" http-equiv=Content-Type>
<title>函数:shuffle()</title>
<style type="text/css">
a {text-decoration: none;color:#6666ff;}
a:hover {color:#ff0000;}
</style>
</head>
<body bgcolor=ffffff leftmargin=0 topmargin=0 marginheight=0 marginwidth=0>
<p>
<div align=center><table border=0 width=70%><tr>
<td valign=middle width=20><hr size=1 width=100%></td>
<td valign=middle nowrap><font color=e06060 size=+2><b>函数:shuffle()</b></font></td>
<td valign=middle width=100%><hr size=1 width=100%></td>
</tr></table></div><p>
<div align=center><table border=0 width=70%><tr><td>
<div align=right><a href="group.php-3.htm" alt="group.php?3">数组处理函数库</a></div><br><h1><font color=0000bb>shuffle</font></h1><p>
将数组的顺序弄混。<p>
<font color=ff8000>语法:</font> <b>void shuffle(array array);</b><p>
<font color=ff8000>返回值:</font> 无<p>
<font color=ff8000>函数种类:</font> 资料处理<p>
<p><table border=0 cellspacing=0 cellpadding=0 width=100% height=1><tr><td height=1 bgcolor=c0c0c0><table border=0 cellspacing=0 cellpadding=0><tr><td></td></tr></table></td></tr>
<tr><td align=left><font color=ff8000>内容说明</font></td></tr></table><p>本函数将数组以随机的方式使全部元素重新乱排。<p>
<p><table border=0 cellspacing=0 cellpadding=0 width=100% height=1><tr><td height=1 bgcolor=c0c0c0><table border=0 cellspacing=0 cellpadding=0><tr><td></td></tr></table></td></tr>
<tr><td align=left><font color=ff8000>使用范例</font></td></tr></table><p><font color="#000000">
<font color="#0000BB"><?<br>$numbers </font><font color="#007700">= </font><font color="#0000BB">range</font><font color="#007700">(</font><font color="#0000BB">1</font><font color="#007700">,</font><font color="#0000BB">20</font><font color="#007700">);<br></font><font color="#0000BB">srand</font><font color="#007700">(</font><font color="#0000BB">time</font><font color="#007700">());<br></font><font color="#0000BB">shuffle</font><font color="#007700">(</font><font color="#0000BB">$numbers</font><font color="#007700">);<br>while (list(,</font><font color="#0000BB">$number</font><font color="#007700">) = </font><font color="#0000BB">each</font><font color="#007700">(</font><font color="#0000BB">$numbers</font><font color="#007700">)) {<br> echo </font><font color="#DD0000">"$number "</font><font color="#007700">;<br>}<br></font><font color="#0000BB">?><br></font><br>注意: <br>ccunning@math.ohio-state.edu 指出 (31-May-1999),在 Solaris 上由于受了 libc 函数库的影响,会使本函数出现问题。目前解决的方式如下面的例子。(注: 或许之后新的 PHP 版本会修正这个问题。)<br><font color="#0000BB"><?<br></font><font color="#007700">function </font><font color="#0000BB">myshuffle</font><font color="#007700">(</font><font color="#0000BB">$array</font><font color="#007700">) {<br> </font><font color="#0000BB">mt_srand</font><font color="#007700">((double) </font><font color="#0000BB">microtime</font><font color="#007700">()*</font><font color="#0000BB">1000000</font><font color="#007700">);<br> </font><font color="#0000BB">$num </font><font color="#007700">= </font><font color="#0000BB">count</font><font color="#007700">(</font><font color="#0000BB">$array</font><font color="#007700">);<br> for (</font><font color="#0000BB">$i</font><font color="#007700">=</font><font color="#0000BB">0</font><font color="#007700">; </font><font color="#0000BB">$i</font><font color="#007700"><</font><font color="#0000BB">$num</font><font color="#007700">-</font><font color="#0000BB">1</font><font color="#007700">; </font><font color="#0000BB">$i</font><font color="#007700">++) {<br> </font><font color="#0000BB">$n </font><font color="#007700">= </font><font color="#0000BB">mt_rand</font><font color="#007700">(</font><font color="#0000BB">$i</font><font color="#007700">+</font><font color="#0000BB">1</font><font color="#007700">,</font><font color="#0000BB">$num</font><font color="#007700">);<br> </font><font color="#0000BB">$temp </font><font color="#007700">= </font><font color="#0000BB">$array</font><font color="#007700">[</font><font color="#0000BB">$n</font><font color="#007700">];<br> </font><font color="#0000BB">$array</font><font color="#007700">[</font><font color="#0000BB">$n</font><font color="#007700">] = </font><font color="#0000BB">$array</font><font color="#007700">[</font><font color="#0000BB">$i</font><font color="#007700">];<br> </font><font color="#0000BB">$array</font><font color="#007700">[</font><font color="#0000BB">$i</font><font color="#007700">] = </font><font color="#0000BB">$temp</font><font color="#007700">;<br> }<br>}<br></font><font color="#0000BB">$array </font><font color="#007700">= array(</font><font color="#0000BB">1</font><font color="#007700">,</font><font color="#0000BB">2</font><font color="#007700">,</font><font color="#0000BB">3</font><font color="#007700">,</font><font color="#0000BB">4</font><font color="#007700">,</font><font color="#0000BB">5</font><font color="#007700">,</font><font color="#0000BB">6</font><font color="#007700">,</font><font color="#0000BB">7</font><font color="#007700">,</font><font color="#0000BB">8</font><font color="#007700">,</font><font color="#0000BB">9</font><font color="#007700">,</font><font color="#0000BB">10</font><font color="#007700">);<br></font><font color="#0000BB">myshuffle</font><font color="#007700">(&</font><font color="#0000BB">$array</font><font color="#007700">);<br>while (list(,</font><font color="#0000BB">$var</font><font color="#007700">)=</font><font color="#0000BB">each</font><font color="#007700">(</font><font color="#0000BB">$array</font><font color="#007700">)) {<br> echo </font><font color="#0000BB">$var </font><font color="#007700">. </font><font color="#DD0000">" "</font><font color="#007700">;<br>}<br></font><font color="#0000BB">?><br></font>
</font>
<p><table border=0 cellspacing=0 cellpadding=0 width=100% height=1><tr><td height=1 bgcolor=c0c0c0><table border=0 cellspacing=0 cellpadding=0><tr><td></td></tr></table></td></tr>
<tr><td align=left><font color=ff8000>参考</font></td></tr></table><p><a href="function.php-arsort.htm" alt="function.php?arsort">arsort()</a> <a href="function.php-asort.htm" alt="function.php?asort">asort()</a> <a href="function.php-ksort.htm" alt="function.php?ksort">ksort()</a> <a href="function.php-rsort.htm" alt="function.php?rsort">rsort()</a> <a href="function.php-sort.htm" alt="function.php?sort">sort()</a> <a href="function.php-usort.htm" alt="function.php?usort">usort()</a> <p><hr size=1><br>如果你对此手册有任何问题,请到下面网址提问: <a href="www.web745.com">WEB开发知识库</a> (<a href="http://www.web745.com">www.web745.com</a>)<p>
</td></tr></table></div>
<p>
<div align=center>
<table border=0><tr><td>[ <a href="function.php-rsort.htm" alt="function.php?rsort">上一页</a> </td> <td> <a href="function.php-sizeof.htm" alt="function.php?sizeof">下一页</a> ]</td></tr></table>
</div><p><br><br>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -