3.8 对数组进行重新排序

在一些应用程序中,可能希望按另一种方式式对数组排序。函数shuffle()将数组各元素进行随机排序。函数array_reverse()给出一个原来数组的反向排序。

3.8.1 使用shuffle()函数

Bob想让其网站首页上的产品能够反映出公司的特色。他拥有许多产品,但希望能够从中随机地选出3种产品并显示在首页上。为了不至于让多次登录网站的访问者感到厌倦,他想让每次访问看到的3种产品都不同。如果将所有产品都存储在同一数组中,就很容易实现这个目标。程序清单3-1通过打乱数组并按随机顺序排列,然后从中选出前3种产品,显示这3种产品的图片。

程序清单3-1 bobs_front_page.php——使用PHP为Bob的汽车配件商店制作一个动态的首页


<?php

$pictures=array('tire.jpg','oil.jpg','spark_plug.jpg',

'door.jpg','steering_wheel.jpg',

'thermostat.jpg','wiper_blade.jpg',

'gasket.jpg','brake_pad.jpg');

shuffle($pictures);

?>

<html>

<head>

<title>Bob's Auto Parts</title>

</head>

<body>

<h1>Bob's Auto Parts</h1>

<div align="center">

<table width=100%>

<tr>

<?php

for($i=0;$i<3;$i++){

echo"<td align=\"center\"><img src=\"";

echo$pictures[$i];

echo"\"/></td>";

}

?>

</tr>

</table>

</div>

</body>


因为以上代码将随机选择3个图片,所以每次登录并载入这个页面时,都会看到显示不同的页面,如图3-5所示。

3.8 对数组进行重新排序 - 图1

图 3-5 shuffle()允许随机选择3个产品