PHP 怎么随机获取数组里面的值

如题所述

方法1:
$arr=array(........); //初始化数组
$key=array_rand($arr); //随机获取数组的键
echo $arr[$key]; //输出随机数组值。
改进型:
$arr=array(........);
echo $arr[array_rand($arr)];

方法2:
$arr=array(........); //初始化数组
shuffle($arr); //打乱数组顺序
echo array_shift($arr); //输出新数组的第一个值。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-26
php中有个内置方法可以随机取得数组的值,根本不需要自己重新定义方法的,例子如下:
$arr = array('a','b','c','d','e');
$newarr = array_rand($arr,3);
print_r($newarr);
这个是随机取数组$arr中的3个值,要去更多个只要相应的数字就可以了。
第2个回答  推荐于2016-04-23
<?php
srand((float) microtime() * 10000000);
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
print $input[$rand_keys[0]] . "\n";
print $input[$rand_keys[1]] . "\n";
?>

参考资料:www.phptogether.com

本回答被提问者和网友采纳
第3个回答  2010-11-26
int rand ( [int min, int max])

用php的函数取得随机下标。。然后

$index = rand(数组的开始下标,数组的结束下标);

echo 数组[$index]
第4个回答  2010-11-27
mysql_connect($host);
mysql_select_db($db);
$noteFindResult = null;
$findSql = 'select * from note order by rand() limit 1';
$tempQuery = mysql_query($findSql);
while($row = !empty( mysql_fetch_array($tempQuery) ) ? mysql_fetch_array($tempQuery) : '') {
$noteFindResult = $row;
}
相似回答