7.10 删除数组中重复元素
使用array_unique()函数实现数组中元素的唯一性,也就是去掉数组中重复的元素。不管是数字索引数组还是联合索引数组,都是以元素值为准。array_unique()函数返回具有唯一性元素值的数组。
下面的例子介绍array_unique()函数去掉数组中重复的元素。
【例7.17】(实例文件:ch07\7.17.php)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/ DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <HEAD><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><h2>用array_unique函数 清除数组内重复元素值。</h2></HEAD> <BODY> <?php $prices_per_day = array('单床房'=> 298,'标准间'=> 268,'三床房'=> 198,'四床房'=> 198,'VIP套房'=> 368); $prices_per_day2 = array('单床房'=> 298,'标准间'=> 268,'四床房'=> 198,'三床房'=> 198,'VIP套房'=> 368); print_r(array_unique($prices_per_day)); print_r(array_unique($prices_per_day2)); ?> </BODY> </HTML>
运行结果如图7-18所示。
【案例分析】
数组$prices_per_day为一个联合索引数组,通过array_unique ($prices_per_day)去除重复的元素值。array_unique ()函数去除重复的值是去除第二个出现的相同值。所以,由于$prices_per_day与$prices_per_day2数组中,键值为“三床房”和键值为“四床方”的198元素的位置正好相反,所以对两次输出所保留的值也正好相反。