如何在PHP中对多个数组进行排序

Phi*_*son 6 php arrays sorting multidimensional-array array-multisort

我写了一个脚本来生成一个数据数组,但现在想要按分数顺序显示.阵列输出如下;

[display_name] => Array
    (
        [0] => ACT_Web_Designs
        [1] => user1_design
        [2] => user2_design
    )

[proffesion] => Array
    (
        [0] => Web Developer
        [1] => web developer
        [2] => Web Developer
    )

[score] => Array
    (
        [0] => 15
        [1] => 6
        [2] => 15
    )

[img] => Array
    (
        [0] => ./?0000=gif&0001=3fadb8c362ff39f3322909899ff14760&0002=prof_pic
        [1] => 
        [2] => 
    )
Run Code Online (Sandbox Code Playgroud)

所以简而言之,我希望它按照以下方式进行转换;

    [display_name] => Array
    (
        [0] => ACT_Web_Designs
        [1] => user2_design
        [2] => user1_design
    )

[proffesion] => Array
    (
        [0] => Web Developer
        [1] => web developer
        [2] => Web Developer
    )

[score] => Array
    (
        [0] => 15
        [1] => 15
        [2] => 6
    )

[img] => Array
    (
        [0] => ./?0000=gif&0001=3fadb8c362ff39f3322909899ff14760&0002=prof_pic
        [1] => 
        [2] => 
    )
Run Code Online (Sandbox Code Playgroud)

我一直在寻找asort(),但无法得到任何工作.任何帮助将非常感激.

cod*_*ict 6

这正是对PHP在array_multisort来使用.在这种情况下,您希望根据仅在其中一个中发生的比较对许多数组进行排序.

我已经修改了数组score以具有不同的值.

<?php

$arr = array(
                'display_name' => array('ACT_Web_Designs','user1_design','user2_design'),
                'proffesion' => array('Web Developer','web developer','web developer'),
                'score' => array(12,6,15),
                'img' => array('./?0000=gif&0001=3fadb8c362ff39f3322909899ff14760&0002=prof_pic','','')
            );

var_dump($arr);
array_multisort($arr['score'], SORT_ASC, SORT_NUMERIC,
                $arr['display_name'],
                $arr['proffesion'],
                $arr['img']
                );
var_dump($arr);


?>
Run Code Online (Sandbox Code Playgroud)

这是一个有效的演示.