社区
基础编程
帖子详情
PHP数组排序问题
luits
2008-09-20 10:04:53
PHP数组排序问题
$array=array('orange'=>84, 'blue'=>30, 'banana'=>99);
请问题如何给这个数组分别对数组名和数组值进行排序?请写出你自己的算法而不是使用PHP函数自带的排序函数。
不用自带函数估计大家觉得有点没事找茬,但别人的要求就是这样!
...全文
206
6
打赏
收藏
PHP数组排序问题
PHP数组排序问题 $array=array('orange'=>84, 'blue'=>30, 'banana'=>99); 请问题如何给这个数组分别对数组名和数组值进行排序?请写出你自己的算法而不是使用PHP函数自带的排序函数。 不用自带函数估计大家觉得有点没事找茬,但别人的要求就是这样!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
luits
2008-09-20
打赏
举报
回复
[Quote=引用 4 楼 yunfeifan 的回复:]
if($keys[$j] > $keys[$j + 1]){
$tmp = $keys[$j];
$keys[$j] = $keys[$j + 1];
$keys[$j + 1] = $tmp;
}
}
[/Quote]
这样也可以比较字符的大小!好办法!
[Quote=引用 4 楼 yunfeifan 的回复:]
foreach($keys as $k => $v){
$result[$v] = $array[$v];
}
[/Quote]
嗯这个办法帮我很大的忙,代码也是满精减的了,谢谢yunfeifan兄
yunfeifan
2008-09-20
打赏
举报
回复
字符串也可以比较,开始把键名放到另外一个数组中做value,然后进行比较,也是一样的
<?php
$array = array("yellow"=>1, "green"=>2, "blue"=>3, "white"=>4, "grey"=>5);
$keys = array();
foreach($array as $key => $value){
$keys[] = $key;
}
for($i = count($array) - 1; $i > 0; $i--){
for($j = 0 ;$j < $i; $j ++){
if($keys[$j] > $keys[$j + 1]){
$tmp = $keys[$j];
$keys[$j] = $keys[$j + 1];
$keys[$j + 1] = $tmp;
}
}
}
foreach($keys as $k => $v){
$result[$v] = $array[$v];
}
print_r($result);
?>
这个应该不是最优化的,大家还有什么好的办法
macleane
2008-09-20
打赏
举报
回复
先判断是不是数字,如果不是就用strcmp比较
luits
2008-09-20
打赏
举报
回复
冒泡排序法 这个想法是不错。你这个办法可以处理到数组的值如84 30 99,但是这里还有个键值要处理。如array('orange'=>90),这里键值并非数值,不能是简单的数字循环来排序。如何处理这个东西??
fxs_2008
2008-09-20
打赏
举报
回复
网上查查冒泡排序法写一个吧
对数据值排序好排
但那键名排序涉字母排序,麻烦一点
yunfeifan
2008-09-20
打赏
举报
回复
array_keys 可以返回数组的键名
php
多维
数组
排序
php
多维
数组
排序
,应用
php
的多维
数组
排序
函数
php
多维
数组
的
排序
php
多维
数组
的
排序
php
多维
数组
的
排序
php
中二维
数组
排序
问题
方法详解
一维
数组
排序
可以使用asort、ksort等一些方法进程
排序
,相对来说比较简单。二维
数组
的
排序
怎么实现呢?使用array_multisort和usort可以实现,下面跟着小编来学习
php
中二维
数组
排序
问题
方法详解
PHP
基础实例教程(
PHP
网页实例版)
PHP
基础实例 在HTML中嵌入
PHP
使用
PHP
标记
PHP
语句 使用
PHP
注释
PHP
语句间的空格
问题
添加动态内容 使用
PHP
函数 ...
PHP
多维
数组
排序
PHP
随机
数组
排序
PHP
文件内容载入
数组
PHP
数组
操作
php
数组
排序
中文,
PHP
数组
排序
PHP
数组
排序
数组
中的元素可以按字母或数字顺序进行降序或升序排列。
PHP
-
数组
排序
函数在本章中,我们将一一介绍下列
PHP
数组
排序
函数:sort() - 对
数组
进行升序排列rsort() - 对
数组
进行降序排列asort() - 根据...
基础编程
21,893
社区成员
140,347
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章