導航:首頁 > 編程語言 > php對數組排序

php對數組排序

發布時間:2023-03-24 09:06:03

A. php數組隨機排序幾種方法

它的用法也很簡單: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的數組

B. php數組從大到小排序誰幫忙想下感謝

你好,建議使用冒泡排序法,這樣看上去比較清楚明了,你這樣編寫就比較復雜了。

C. php用系統函數將一個數組按另一個數組的值進行排序

rsort()定義和用法
rsort() 函數對數組的元素按照鍵值進行逆向排序。與 arsort() 的功能基本相同。

注釋:該函數為 array 中的單元賦予新的鍵名。這將刪除原有的鍵名而不僅是重新排序。

如果成功則返回 TRUE,否則返回 FALSE。

可選的第二個參數包含另外的排序標志。

語法
rsort(array,sorttype)參數 描述
array 必需。輸入的數組。
sorttype 可選。規定如何排列數組的值。可能的值:

SORT_REGULAR - 默認。以它們原來的類型進行處理(不改變類型)。
SORT_NUMERIC - 把值作為數字來處理
SORT_STRING - 把值作為字元串來處理
SORT_LOCALE_STRING - 把值作為字元串來處理,基於本地設置*。

*:該值是 PHP 4.4.0 和 5.0.2 新加的。在 PHP 6 之前,使用了系統的區域設置,可以用 setlocale() 來改變。自 PHP 6 起,必須用 i18n_loc_set_default() 函數。

例子
復制代碼 代碼如下:
<?php
$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse");
rsort($my_array);
print_r($my_array);
?>

輸出:
Array
(
[0] => Horse
[1] => Dog
[2] => Cat
)

D. PHP數組重新排序

array_multisort對多個數組或多維數組進行排序 排序的依據可以是自定義,完全可以用一個一維數組去排序多維數組.

$arrSort=[];
foreach($arras$info){
$arrSort[]=$info['o'];
}
sort($arrSort);
array_multisort($arrSort,$arr);

array_multisort

你研究一下.這個是完全可行的.

E. php數組內容添加 排序

我拿最簡單的數組寫了個給你參考..主要也是思路問題
$green = array(
0=>array("name"=>"c","score"=>90),
1=>array("name"=>"a","score"=>80),
2=>array("name"=>"d","score"=>80),
3=>array("name"=>"b","score"=>70),
4=>array("name"=>"e","score"=>60),
);
//排名 1 2 2 4 5
//姓名 C A D B E
//成績 90 80 80 70 60
foreach( $green as $k=>$v){
if ($k == 0){
$green[$k]['site']=1;
}else{
$lk = $k - 1;
if ($green[$k]['score'] != $green[$lk]['score']){
$nk=$k +1;
$green[$k]['site']= $nk;
}else{
$green[$k]['site']=$k;
}
}
}
下面是結果
array(5) {
[0]=>
array(3) {
["name"]=> string(1) "c"
["score"]=> int(90)
["site"]=> int(1)
}
[1]=>
array(3) {
["name"]=> string(1) "a"
["score"]=> int(80)
["site"]=> int(2)
}
[2]=>
array(3) {
["name"]=> string(1) "d"
["score"]=> int(80)
["site"]=> int(2)
}
[3]=>
array(3) {
["name"]=>string(1) "b"
["score"]=>int(70)
["site"]=>int(4)
}
[4]=>
array(3) {
["name"]=>string(1) "e"
["score"]=> int(60)
["site"]=>int(5)
}
}

F. PHP For 循環 怎麼能把 數組 從小到大排列呢

用非常典型的冒泡排序即可實現,具體實現思路如下列代碼所示:

<?php
//首先定義一個數組;
$arr=array(100,23,69,2,50,31);
//計算數組的長度;
$length=count($arr);
//外層循環n-1
for($n=0;$n<$length-1;$n++){
//內層循環n-i-1
for($i=0;$i<$length-$n-1;$i++){
//判斷數組元素大小,交換位置,實現從小往大排序
if($arr[$i]>$arr[$i+1]){
$temp=$arr[$i+1];
$arr[$i+1]=$arr[$i];
$arr[$i]=$temp;
}

}

}
print_r($arr);
//Array([0]=>2[1]=>23[2]=>31[3]=>50[4]=>69[5]=>100)

?>

G. php數組排序通過id鍵小到大排

首先要糾正一個問題,'a'=>aa這個寫法是錯誤的,aa是字元串,一定要要上引號('a'=>'aa')。
這個排序很簡單,只需要用到php的兩個函數。
1、我先合並數組 array_merge();
$arr[0]=array('id'=>2,'a'=>'aa');
$arr[1]=array('id'=>1,'a'=>'aa');
$arr[2]=array('id'=>3,'a'=>'aa');
$arr=array_merge($arr);//合並數組
2、按數字從小到大排序 sort();
sort($arr);//進行排序
3、最後得到的數據如下:
Array
(
[0] => Array
(
[id] => 1
[a] => aa
)

[1] => Array
(
[id] => 2
[a] => aa
)

[2] => Array
(
[id] => 3
[a] => aa
)

)

H. php如何按數組鍵值排序

$arr=[
array(
'name'=>'小壞龍',
'age'=>28
),
array(
'name'=>'小壞龍2',
'age'=>14
),
array(
'name'=>'小壞龍3',
'age'=>59
),
array(
'name'=>'小壞龍4',
'age'=>23
),
array(
'name'=>'小壞龍5',
'age'=>23
),
array(
'name'=>'小壞龍6',
'age'=>21
),
];

array_multisort(array_column($arr,'age'),SORT_DESC,$arr);
print_r($arr);

其中 array_column(數組,數組中的某個鍵值) 從多維數組中取出某個鍵值的一列 返回一個一維數組;
array_multisort(數組(一維數組),排序方式(SOTR_ASC,SOTR_DESC),其他數組(可以是二維的)

I. php怎麼把數組里的數字排序

可以使用自定義函數排序uasort(),搭配匿野賣名函數挺方便的
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' =>銀罩 -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
uasort($array,function($a,$b){
if ($a == $b) {
return 0;
}
return ($a <鋒脊鬧 $b) ? -1 : 1;
});
print_r($array);

J. php 根據某個欄位對二維數組這個數組排序

試編寫代碼如下:

<?php
$array[] = array('id'=>1,'price'=>50);
$array[] = array('id'=>2,'price'=>70);
$array[] = array('id'=>3,'price'=>30);
$array[] = array('id'=>4,'price'=>20);

foreach ($array as $key=>$value){
$id[$key] = $value['id'];
$price[$key] = $value['price'];
}

array_multisort($price,SORT_NUMERIC,SORT_DESC,$id,SORT_STRING,SORT_ASC,$array);
echo '<pre>';
print_r($array);
echo '</pre>';
?>

運行結果:

Array
(
[0] => Array
(
[id] => 2
[price] => 70
)

[1] => Array
(
[id] => 1
[price] => 50
)

[2] => Array
(
[id] => 3
[price] => 30
)

[3] => Array
(
[id] => 4
[price] => 20
)

)

閱讀全文

與php對數組排序相關的資料

熱點內容
輿情監控演算法 瀏覽:145
好看123電影 瀏覽:751
成龍主演的五行拳電影名字 瀏覽:954
好看的中文字幕經典 瀏覽:913
android仿qq輸入 瀏覽:117
看輕小說的網站 瀏覽:86
命令與征服3戰役存檔 瀏覽:147
台灣風月影片 瀏覽:326
彭偶么電視劇電影大全 瀏覽:291
重生井岡山林楓 瀏覽:519
日本大片網址大全 瀏覽:741
在線免費觀看完整版電影大全韓國 瀏覽:889
片子視頻破解網站 瀏覽:853
穿越抗戰時期送物資的小說 瀏覽:536
大轉折系列電影17部 瀏覽:86
蠟筆小新功夫小子國語版免費觀看 瀏覽:407
一個囚犯和一個小男孩的外國電影 瀏覽:974
yy寫的很詳細的小說 瀏覽:128
求個在線觀看的中文字幕 瀏覽:436
四台伺服器怎麼改成host 瀏覽:785