新聞中心
php中怎樣從一個(gè)數(shù)組中隨機(jī)取一個(gè)元素出來呢?
用array_rand()函數(shù)吧,它可以從一個(gè)數(shù)組中隨機(jī)取一個(gè)或者多個(gè)下標(biāo)出來,有了下標(biāo),就可以從原數(shù)組拿到對(duì)應(yīng)的元素了。它的用法也很簡(jiǎn)單:array_rand($arr[,
創(chuàng)新互聯(lián)公司主營(yíng)黃浦網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP軟件開發(fā),黃浦h5重慶小程序開發(fā)搭建,黃浦網(wǎng)站營(yíng)銷推廣歡迎黃浦等地區(qū)企業(yè)咨詢
$num])$arr
==
用來取元素的數(shù)組$num
==
隨機(jī)取下標(biāo)的個(gè)數(shù)其中第二個(gè)參數(shù)
$num
是可選的,默認(rèn)為1
。注意:它的返回值在第二個(gè)參數(shù)大于
1
的時(shí)候是一個(gè)數(shù)組;當(dāng)?shù)诙€(gè)參數(shù)不設(shè)或者傳值
1
的時(shí)候是一個(gè)下標(biāo)。簡(jiǎn)單的示例代碼如下:1、第二個(gè)參數(shù)不傳值的情況;$arr
=
Array('a',
'b');$rndKey
=
array_rand($arr);echo
$arr[$rndKey];//輸出
a
或者
b2、第二個(gè)參數(shù)傳值大于
1
的情況;$arr
=
Array('a',
'b',
'c',
'd');$rndKey
=
array_rand($arr,
2);print_r($rndKey]);//輸出一個(gè)隨機(jī)key的數(shù)組
如何在數(shù)據(jù)庫中隨機(jī)取出1條記錄?PHP
/**
* MySQL 隨機(jī)取記錄
*
* @param $t 表
* @param $c ID列,默認(rèn)為id
* @param $n 取多少個(gè)
* @param $w 條件語句
* @param $f bool 是否強(qiáng)制以多維數(shù)組形式返回,默認(rèn)false
* @return array 取1個(gè)直接返回結(jié)果數(shù)組(除非$f為true),取1個(gè)返回多維數(shù)組,用foreach取出
*/
function rand_row($t , $c = 'id' , $n = '1', $w = '' , $f = false) {
$m=new mysqli(mysqli信息,自行查找php文檔);
if (!empty($w)) {
$w = ' AND '.$w;
}
$sql = "SELECT * FROM `{$t}` WHERE {$c} = (SELECT floor(RAND() * (SELECT MAX({$c}) FROM `{$t}`))) {$w} ORDER BY {$c} LIMIT {$n};";
$xq = $m-query($sql);
$r = array();
while ($x = $m-fetch_array($xq)) {
$r[] = $x;
}
if ($f == false count($r) == 1) {
return $r[0];
} else {
return $r;
}
}
PHP中怎么從一個(gè)二維數(shù)組中隨機(jī)取出一個(gè)值?
用array_rand()函數(shù)就可以實(shí)現(xiàn)。
array_rand():從數(shù)組中隨機(jī)選出一個(gè)或多個(gè)元素,并返回。
語法:array_rand(array,number)
array:必需。規(guī)定輸入的數(shù)組參數(shù)。
number:可選。默認(rèn)是 1。規(guī)定返回多少個(gè)隨機(jī)的元素。
例子:$a = ['a','b','c'];//定義一個(gè)二維數(shù)組
$b = $array_rand($a,1);//從數(shù)組a里隨機(jī)選取一個(gè)元素賦值給變量b。
文章名稱:php隨機(jī)取一條數(shù)據(jù) php從數(shù)組中隨機(jī)抽取n條數(shù)據(jù)
文章出自:http://fisionsoft.com.cn/article/ddissdd.html