导航:首页 > 编程语言 > 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对数组排序相关的资料

热点内容
魔兽宏命令是什么 浏览:249
《法国空姐》啄木鸟种子 浏览:95
超清播放网站 浏览:39
索尼传送app为什么华为用不了 浏览:225
linux命令at 浏览:221
阿里程序员厉害 浏览:195
iappqq飞车美化源码 浏览:389
51单片机跑马灯c程序 浏览:930
adm压缩及解压代码 浏览:853
xp如何制作打印机服务器 浏览:24
张天佑小说蛇 浏览:23
安卓手机如何解压001文件 浏览:150
nx编程考证有什么要求 浏览:524
百度云资源线免费播放网站 浏览:829
啄木鸟最好看的一部 浏览:660
iphone如何设置文件夹空白名字 浏览:10
失去的眼角膜电影完整版 浏览:116
女星走光电影 浏览:132
恐怖鬼电影免费观看 浏览:475
更新最快的影院 浏览:505