PHP 中打乱(shuffle)关联数组的排序

PHP 提供了一个 shuffle() 函数,可以打乱给定的数组排序,但是此函数“将删除原有的键名而不仅是重新排序”,如果传入的是关联数组,则关联数组的键名将丢失,本文介绍的函数可以解决这一问题。

 
<?php
// 说明:PHP 中打乱(shuffle)关联数组的排序
// 整理:http://www.CodeBit.cn

$arr = array(
	'Javascript'=>'253',
	'CSS'=>'612',
	'PHP/MySQL'=>'1036',
	'(X)HTML'=>'361',
	'Ajax'=>'492',
);

// 打乱关联数组的排序
function shuffle_assoc($array)
{ 
	$randomized_keys = array_rand($array, count($array)); 
	foreach($randomized_keys as $current_key)
	{ 
		$output[$current_key] = $array[$current_key]; 
	} 
	return $output;
}

echo "<pre>";
print_r($arr);
echo "</pre><hr />";


echo "<pre>";
print_r(shuffle_assoc($arr));
echo "</pre><hr />";

?>

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>