When $ intTotal is relatively small, for example, the value of $ intRand within 1000 basically does not affect the result, and the execution time of both is similar.
When the value of $ intTotal is greater than 10000 and $ intRand is set to 100, the efficiency of using array_unique is higher than that of foreach loop judgment. $ intRand = 10, the execution time of the two is the same.
Instance
<? Php Tutorial
$ ArrF = array ();
$ ArrS = array ();
$ IntTotal = 100;
$ IntRand = 10;
For ($ I = 0; $ I <$ intTotal; $ I ++)
{
$ ArrF [] = rand (1, $ intRand );
$ ArrS [] = rand (1, $ intRand );
}
$ ArrT = array_merge ($ arrF, $ arrS );
$ ArrRF = array ();
$ IntStart = time ();
Foreach ($ arrT as $ v)
{
If (in_array ($ v, $ arrRF ))
{
Continue;
}
Else
{
$ ArrRF [] = $ v;
}
}
$ IntEnd = time ();
$ IntTime = $ intEnd-$ intStart;
Echo "With Continue, Spend time: $ intTime <br/> ";
$ IntStart1 = time ();
$ ArrRS = array_unique ($ arrT );
$ IntEnd2 = time ();
$ IntTime2 = $ intEnd2-$ intStart1;
Echo "With array_unique function, Spend time :( $ intTime2 )";
Echo "<pre> ";
Print_r ($ arrT );
Print_r ($ arrRF );
Print_r ($ arrRS );
Echo "</pre> ";
?>
Therefore, it can be concluded that when the array capacity is small and it is about 1000 or less, the execution efficiency of the two is almost the same.