1

このような大きな配列があります (ここでは 5 つのエントリのみ)

Array
(
    [1] => Array
        (
            [last_token] => atokenforexample
            [idmembre] => 31800
            [key] => 821fbe3f4623649562f75a3de132c908
            [idmembre_mobile] => 230106
        )

    [2] => Array
        (
            [last_token] => atoken1
            [idmembre] => 83586
            [key] => 0854ea148c95c08a30c623a313e645a9
            [idmembre_mobile] => 126634
        )

    [3] => Array
        (
            [last_token] => atoken1
            [idmembre] => 138727
            [key] => 622c0803a8f662c1df852001017b5db8
            [idmembre_mobile] => 119326
        )

    [4] => Array
        (
            [last_token] => atokensocool
            [idmembre] => 163737
            [key] => 8bab884bf46c14abfceaef7abcdf14f9
            [idmembre_mobile] => 222066
        )

    [5] => Array
        (
            [last_token] => WOWanothetoken
            [idmembre] => 236345
            [key] => 41c17896091d9417b305e70541039249

これから、1 つの列だけ、last_token で一意の配列を取得する必要があります。したがって、ここではキー 3 (array[3]) で配列をスワイプする必要があります。これは、彼の last_token が array[2][last_token] と同じであるためです。

一意の配列はここでは機能しません.. :(

4

1 に答える 1

1

最後のオカレンスを保存するには:

foreach($array as $value) {
    $result[$value['last_token']] = $value;
}
$result = array_values($result);

または、最初のオカレンスを保存するには:

foreach(array_reverse($array) as $value) {
    $result[$value['last_token']] = $value;
}
$result = array_reverse(array_values($result));

おそらくもっとエレガントな方法ですが、私は飢えているので食べに行きます.

于 2014-02-04T16:54:06.827 に答える