多维数组如何排序

kiyone 2009-11-27 04:40:42
$arr = Array ( [0] => aaa 2 [1] => bbb 1 [2] => ccc 3);
请问如何以每一列的后面的数字2,1,3排序,想排序之后结果变成
$arr = Array ( [0] => bbb 1 [1] => aaa 2[2] => ccc 3);

请各位赐教,感激不尽!
...全文
71 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kiyone 2009-11-27
  • 打赏
  • 举报
回复
3楼我说错了,不好意思!
是想把$arr = array ( 0 => 'aaa d 2 c', 1 => 'bbb d 1 e', 2 => 'ccc ww 3 ad');
排序成$arr = array ( 0 => 'bbb d 1 e', 1 => 'aaa d 2 c', 2 => 'ccc ww 3 ad');
foolbirdflyfirst 2009-11-27
  • 打赏
  • 举报
回复
建议lz给出所有可能的情况,你不说清楚,人家就不可能给你更为准确的代码。

$arr = array ( 0 => 'bbb d 1 e', 1 => 'aaa d 2 c', 2 => 'ccc ww 3 ad');
这个还好说
$arr = array ( 0 => 'bbb d 1 e 456', 1 => 'aaa d 2 c 218', 2 => 'ccc ww 3 ad 100 ww 1000');

这样的你又想怎么处理?
kiyone 2009-11-27
  • 打赏
  • 举报
回复
请问唠叨,你的程序挺好的,但我刚才说的不完全,我有多项就不行了
$arr = array ( 0 => 'aaa d 2 c', 1 => 'bbb d 1 e', 2 => 'ccc ww 3 ad');
还是想排序成$arr = array ( 0 => 'bbb d 1 e''aaa d 2 c', 1 => 'aaa d 2 c', 2 => 'ccc ww 3 ad');
江南昆虫 2009-11-27
  • 打赏
  • 举报
回复
$arr = array(0 => array('aaa',2),1 => array('bbb',1),2 => array('ccc',3)); 
function sort_($a, $b)
{
if ($a[1] == $b[1]) return 0;
return ($a[1] < $b[1]) ? -1 : 1;
}
usort($arr, 'sort_');
print_r($arr);
运行结果:
Array
(
[0] => Array
(
[0] => bbb
[1] => 1
)

[1] => Array
(
[0] => aaa
[1] => 2
)

[2] => Array
(
[0] => ccc
[1] => 3
)

)
xuzuning 2009-11-27
  • 打赏
  • 举报
回复
<?php 
$arr = array ( 0 => 'aaa 2', 1 => 'bbb 1', 2 => 'ccc 3');

foreach($arr as $v) {
$r[] = array_pop(split(' ', $v));
}
array_multisort($r, $arr);

print_r($arr);
?>

Array
(
[0] => bbb 1
[1] => aaa 2
[2] => ccc 3
)

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧