PHP数组排序问题 冒泡排序法 这个想法是不错。你这个办法可以处理到数组的值如84 30 99,但是这里还有个键值要处理。如array('orange'=>90),这里键值并非数值,不能是简单的数字循环来排序。如何处理这个东西?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先判断是不是数字,如果不是就用strcmp比较 字符串也可以比较,开始把键名放到另外一个数组中做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);?>这个应该不是最优化的,大家还有什么好的办法 这样也可以比较字符的大小!好办法!嗯这个办法帮我很大的忙,代码也是满精减的了,谢谢yunfeifan兄 array_keys 可以返回数组的键名 PHP表统计,知道的说下,谢谢 请问上传图片怎么加水印啊? PHP实现小图无水印,大图有水印 php如何删除非html里面的注释? PHP上传附件 防止重复上传 GB码到UTF码,但服务器不支持iconv()怎么办? 求助:为什么我的session不能失效 exit()后的执行问题。 有点难度的问题 请问在php中字符串变量的字符串值有没有长度限制。 copy() [function.copy]: Unable to access 警告应该怎样避免??? 网上空间的目录是怎么样的??
$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);
?>这个应该不是最优化的,大家还有什么好的办法