php使用陣列array_rand()函式進行高效隨機抽取指定條數的記錄,可以隨機抽程式設計客棧取資料庫中的記錄,適合進行隨機展示和**程式。
該演算法jlxvdwu主要是利用php的array_rand()函式,下面看一下array_rand()函式的主要功能:
array_rand—從陣列中隨機取出乙個或多個單元
mixed array_rand(array $input[,int $num_req] )
array_rand()在你想從陣列中取出乙個或多個隨機的單元時相當有用。它接受input作為輸入陣列和乙個可選的引數num_req,指明了你想取出多少個單元 - 如果沒有指定,預設為 1。
如果你只取出乙個,array_rand()返回乙個隨機單元的鍵名,否則就返回乙個包含隨機鍵名的陣列。這樣你就可以隨機從陣列中取出鍵名和值。
下面我們看一下小例子:
複製** **如下:
<?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";
?>
該函式會隨機抽取$list陣列中的記錄號,需要記錄內容只需要輸出即可。
下面看一段資料庫隨機抽取特定條記錄的例子:
複製** 代程式設計客棧碼如下:
<?php
$list = $db->where("status=1 and flag=1")->order('sort')->select();
unset($case);
$count = count($list);
$rand_list=range(0, $count-1);
$rand_list = array_rand($ra程式設計客棧nd_list, 10);
$tuijian_array = array();
foreach ($rand_list as $key)
unset($case_list);
print_r($tuijian_array);
?>
本文標題: php中通過陣列進行高效隨機抽取指定條記錄的演算法
本文位址:
PHP中通過加號合併陣列
通常,我們合併多個陣列用的是array merge 函式,其實,php手冊中關於陣列操作符的介紹給了我們更簡單的方法,那就是 號,看看下面的例子就明白了 詳細了解 複製 如下 a array a a b b b array c c d d c a b print print r c print 結果...
PHP中對陣列進行排序
測試一 array array array id 1,name a array id 5,name b array id 3,name c 按列id的值進行排序 foreach array as key row 把 data 作為最後乙個引數,以通用鍵排序 print r array array m...
php對陣列內元素進行隨機調換的方法
這是乙個自定義的php陣列元素隨機調換的函式,php已經有乙個內建的同樣功能的函式shuffle array 這個 權當參考 i noticed that there is already a built in function that does the same so don t use shu...