它的用法也很簡單:array_rand($arr[, $num])$arr == 用來取元素的數組$num == 隨機取下標的個數其中第二個參數 $num 是可選的,默認為1 。注意:它的返回值在第二個參數大于 1 的時候是一個數組;當第二個參數不設或者傳值 1 的時候是一個下標。簡單的示例代碼如下:1、第二個參數不傳值的情況;$arr = Array('a', 'b');$rndKey = array_rand($arr);echo $arr[$rndKey];//輸出 a 或者 b2、第二個參數傳值大于 1 的情況;$arr = Array('a', 'b', 'c', 'd');$rndKey = array_rand($arr, 2);print_r($rndKey]);//輸出一個隨機key的數組
網站建設哪家好,找創(chuàng)新互聯建站!專注于網頁設計、網站建設、微信開發(fā)、微信平臺小程序開發(fā)、集團企業(yè)網站建設等服務項目。為回饋新老客戶創(chuàng)新互聯還提供了宜興免費建站歡迎大家使用!
針對單獨訪客來存儲該訪客訪問過的紀錄, 只是能COOKIE了, 但這樣的話清除瀏覽器COOKIE后就無效了. 大致思路是這樣, 具體可能會有些邏輯需要優(yōu)化.
?php
//訪問
if?(!isset($_COOKIE["visited"])?{
$_COOKIE["visited"]?=?"";
}
if?($_COOKIE["visited"]?!=?"")?{
$sql?=?"select?*?from?table?where?id?not?in?("?.?$_COOKIE["visited"]?.?")?order?by?rand()?limit?1";
}?else?{
$sql?=?"select?*?from?table?where?order?by?rand()?limit?1";
}
//訪問取出紀錄后,?得到該條紀錄的ID?$id,?將ID存入COOKIE
if?($_COOKIE["visited"]?==?"")?{
$_COOKIE["visited"]?=?$id;
}?else?{
$_COOKIE["visited"]?.=?","?.?$id;
}
$a
=
range(1,100);
function
get_one($a){
if(count($a)=1){
$key=array_rand($a,1);
$value=$a[$key];
unset($a[$key]);
return
$value;
}else{
return
"都取光了";
}
}
//每次取值可以直接
echo
"取到的值:".get_one($a);
echo
"br還剩:".count($a);
/**
*?MySQL?隨機取記錄
*?
*?@param?$t?表
*?@param?$c?ID列,默認為id
*?@param?$n?取多少個
*?@param?$w?條件語句
*?@param?$f?bool?是否強制以多維數組形式返回,默認false
*?@return?array?取1個直接返回結果數組(除非$f為true),取1個返回多維數組,用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;
}
}
1,sql distinct 70條不一樣的數據。
2.存入global數組中并 shuffle 這個數組。
3.讀取每頁頁碼,以這個頁碼為key 取出數據。
4.done
網頁題目:php隨機讀取一條數據 php數據抓取
網頁路徑:http://chinadenli.net/article18/hgdjdp.html
成都網站建設公司_創(chuàng)新互聯,為您提供定制網站、營銷型網站建設、品牌網站設計、面包屑導航、Google、全網營銷推廣
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯