<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="PHP两种去掉数组重复值的方法foreach和array_unique比较" id="card1">
<p> 游客</p><p>
标题:PHP两种去掉数组重复值的方法foreach和array_unique比较<br/>
正文:<br/>
去除一个数组中的重复值，可以使用foreach方法，也可以使用array_unique方法，下面的代码两种方法都使用了。&amp;lt;?php<br/>$arrF = array();<br/>$arrS = array();<br/>$intTotal = 100;<br/>$intRand = 10;<br/>for($i=0; $i &amp;lt; $intTotal; $i++)<br/>{<br/>	$arrF[] = rand(1, $intRand);<br/>	$arrS[] = rand(1, $intRand);<br/>}<br/>$arrT = array_merge($arrF, $arrS);<br/>$arrRF = array();<br/>$intStart = time();<br/>foreach($arrT as $v)<br/>{<br/>	if(in_array($v, $arrRF))<br/>	{<br/>		continue;<br/>	}<br/>	else<br/>	{<br/>		$arrRF[] = $v;<br/>	}<br/>}<br/>$intEnd = time();<br/>$intTime = $intEnd-$intStart;<br/>echo &quot;With Continue,Spend time:$intTime&amp;lt;br/&amp;gt;&quot;;<br/>$intStart1 = time();<br/>$arrRS = array_unique($arrT);<br/>$intEnd2 = time();<br/>$intTime2 = $intEnd2-$intStart1;<br/>echo &quot;With array_unique function,Spend time:($intTime2)&quot;;<br/>echo &quot;&amp;lt;pre&amp;gt;&quot;;<br/>print_r($arrT);<br/>print_r($arrRF);<br/>print_r($arrRS);<br/>echo &quot;&amp;lt;/pre&amp;gt;&quot;;<br/>?&amp;gt;在$intTotal比较小的情况下，比如说1000以内，$intRand的取值基本不影响结果，两者执行的时间都差不多。测试$intTotal 大于10000时，$intRand取<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1452&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1452&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1452&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1452&amp;Page=2">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=1452">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=1452">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>