php中通過陣列進行高效隨機抽取指定條記錄的演算法

2022-09-29 17:06:28 字數 1236 閱讀 5155

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...