简体   繁体   English

数组内的数组-按字母顺序排序

[英]arrays inside array - sort alphabetically

I have an array that contains many other arrays. 我有一个包含许多其他数组的数组。 The first item is a base64-encoded string and the second item is the real string. 第一项是base64编码的字符串,第二项是实字符串。

How can i sort the array alphabetically based on the second string ? 如何根据第二个字符串按字母顺序对数组进行排序?

    Array
(
    [3] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAja29jaGlzZSAtIDE0IC0gbGEgcmV2YW5jaGUgZGVzIHZhaW5jdXMgIFt3d3cucGlyYXRlLXB1bmsubmV0XS5tcDMK
            [1] => kochise - 14 - la revanche des vaincus  [www.pirate-punk.net].mp3

        )

    [9] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAja29jaGlzZSAtIDE1IC0gbGUgY29tcHRlIGQnIGF1am91ZCdodWkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS5tcDMK
            [1] => kochise - 15 - le compte d' aujoud'hui  [www.pirate-punk.net].mp3

        )

    [18] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAja29jaGlzZSAtIDE2IC0gc2OKbmUgZGUgcmFjaXNtZSBvcmRpbmFpcmUgIFt3d3cucGlyYXRlLXB1bmsubmV0XS5tcDMK
            [1] => kochise - 16 - sc�ne de racisme ordinaire  [www.pirate-punk.net].mp3

        )

    [16] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAja29jaGlzZSAtIDE3IC0gY2hhbnNvbiBwb3VyIHBhbnR4b2EgIFt3d3cucGlyYXRlLXB1bmsubmV0XS5tcDMK
            [1] => kochise - 17 - chanson pour pantxoa  [www.pirate-punk.net].mp3

        )

    [13] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAja29jaGlzZSAtIDE4IC0gZi5sLmEgIFt3d3cucGlyYXRlLXB1bmsubmV0XS5tcDMK
            [1] => kochise - 18 - f.l.a  [www.pirate-punk.net].mp3

        )

    [15] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAja29jaGlzZSAtIDE5IC0gdGVycmUgYnJ1bIJlcyAgW3d3dy5waXJhdGUtcHVuay5uZXRdLm1wMwo=
            [1] => kochise - 19 - terre brul�es  [www.pirate-punk.net].mp3

        )

    [8] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAja29jaGlzZSAtIDExIC0gdGVycmUgdmlvbIJlICBbd3d3LnBpcmF0ZS1wdW5rLm5ldF0ubXAzCg==
            [1] => kochise - 11 - terre viol�e  [www.pirate-punk.net].mp3

        )

    [19] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAja29jaGlzZSAtIDEyIC0gbGVzIHRlbXBzIG1vZGVybmVzICBbd3d3LnBpcmF0ZS1wdW5rLm5ldF0ubXAzCg==
            [1] => kochise - 12 - les temps modernes  [www.pirate-punk.net].mp3

        )

    [4] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAja29jaGlzZSAtIDEzIC0gMSAtIGZlbW1lIHN1ciAyIC0gZXN0IDEgaG9tbWUgIFt3d3cucGlyYXRlLXB1bmsubmV0XS5tcDMK
            [1] => kochise - 13 - 1 - femme sur 2 - est 1 homme  [www.pirate-punk.net].mp3

        )

    [7] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAja29jaGlzZSAtIDIwIC0gZGFtZSBkeW5hbWl0ZSAgW3d3dy5waXJhdGUtcHVuay5uZXRdLm1wMwo=
            [1] => kochise - 20 - dame dynamite  [www.pirate-punk.net].mp3

        )

    [2] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAjaGFpbmUgYnJpZ2FkZSAtIDA0IC0gcm9jayB0ZXJyb3Jpc3RlICBbd3d3LnBpcmF0ZS1wdW5rLm5ldF0ubXAzCg==
            [1] => haine brigade - 04 - rock terroriste  [www.pirate-punk.net].mp3

        )

    [12] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAjaGFpbmUgYnJpZ2FkZSAtIDA1IC0gY2lhIGdvbmUgIFt3d3cucGlyYXRlLXB1bmsubmV0XS5tcDMK
            [1] => haine brigade - 05 - cia gone  [www.pirate-punk.net].mp3

        )

    [14] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAjaGFpbmUgYnJpZ2FkZSAtIDA2IC0gZGVtYWluIHNlcmEgIFt3d3cucGlyYXRlLXB1bmsubmV0XS5tcDMK
            [1] => haine brigade - 06 - demain sera  [www.pirate-punk.net].mp3

        )

    [5] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAjaGFpbmUgYnJpZ2FkZSAtIDA3IC0gcGFzc2FnZXIgY2xhbmRlc3RpbiAgW3d3dy5waXJhdGUtcHVuay5uZXRdLm1wMwo=
            [1] => haine brigade - 07 - passager clandestin  [www.pirate-punk.net].mp3

        )

    [17] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAjaGFpbmUgYnJpZ2FkZSAtIDA4IC0gaSBnb25uYSBkbyBteSBoZWFkICBbd3d3LnBpcmF0ZS1wdW5rLm5ldF0ubXAzCg==
            [1] => haine brigade - 08 - i gonna do my head  [www.pirate-punk.net].mp3

        )

    [0] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAjaGFpbmUgYnJpZ2FkZSAtIDA5IC0gbnJ2ICBbd3d3LnBpcmF0ZS1wdW5rLm5ldF0ubXAzCg==
            [1] => haine brigade - 09 - nrv  [www.pirate-punk.net].mp3

        )

    [10] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAjaGFpbmUgYnJpZ2FkZSAtIDAxIC0gY29tbWlzc2FyaWF0IGJsdWVzICBbd3d3LnBpcmF0ZS1wdW5rLm5ldF0ubXAzCg==
            [1] => haine brigade - 01 - commissariat blues  [www.pirate-punk.net].mp3

        )

    [11] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAjaGFpbmUgYnJpZ2FkZSAtIDAyIC0gbWF0aGlsZGEgIFt3d3cucGlyYXRlLXB1bmsubmV0XS5tcDMK
            [1] => haine brigade - 02 - mathilda  [www.pirate-punk.net].mp3

        )

    [6] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAjaGFpbmUgYnJpZ2FkZSAtIDAzIC0gcGxlaW5lIGx1bmUgIFt3d3cucGlyYXRlLXB1bmsubmV0XS5tcDMK
            [1] => haine brigade - 03 - pleine lune  [www.pirate-punk.net].mp3

        )

    [1] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAjaGFpbmUgYnJpZ2FkZSAtIDEwIC0gZmFjZSCFIGZhY2UgIFt3d3cucGlyYXRlLXB1bmsubmV0XS5tcDMK
            [1] => haine brigade - 10 - face � face  [www.pirate-punk.net].mp3

        )

)

with this example i need to sort the sub-arrays alphabetically based on the string starting by "kochise" or "haine brigade" 在此示例中,我需要根据以“ kochise”或“ haine brigade”开头的字符串按字母顺序对子数组进行排序

Here: 这里:

function cmp($a, $b)
{
   return strcmp($a[1], $b[1]);
}

usort($your_data, "cmp");
function cmp($a, $b) {

    return strcmp($a[1], $b[1]);
}

usort($myArray, 'cmp');
    function aasort(&$yourarrayname, $key) { //this function will do this for you, just input the 

//array name and the  key name for this target array for the association
        $sorter=array(); //here we initialize the arrays to order or sort as you like
        $ret=array();
        reset($yourarrayname); //good code practices
        foreach ($array as $ii => $va) {      //loop through the array and sort each to each in this //new arrays
            $sorter[$ii]=$va[$key]; //storing 
        }
        asort($sorter, SORT_NATURAL | SORT_FLAG_CASE); //assort as alphabetic
        foreach ($sorter as $ii => $va) {
            $ret[$ii]=$array[$ii];
        }
        $array=$ret;
    }
      //call it like this
    aasort($your_array,"key");

Easy way to solve this problem is to create the array like this instead: Doing it this way makes you able to use php sort functions. 解决此问题的简单方法是改为创建如下数组:这样可以使您能够使用php sort函数。

  Array
(
    ["kochise - 14 - la revanche des vaincus  [www.pirate-punk.net].mp3"] => Array
        (
            [0] => ZGwvcHAvNjI1MC9rb2NoaXNlICsgaGFpbmUgYnJpZ2FkZSAtIHNhdXZhZ2VzIChzcGxpdCkgIFt3d3cucGlyYXRlLXB1bmsubmV0XS56aXAja29jaGlzZSAtIDE0IC0gbGEgcmV2YW5jaGUgZGVzIHZhaW5jdXMgIFt3d3cucGlyYXRlLXB1bmsubmV0XS5tcDMK
            [1] => kochise - 14 - la revanche des vaincus  [www.pirate-punk.net].mp3

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM