Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.php > #4322

Re: Array sort

From "Christoph M. Becker" <cmbecker69@arcor.de>
Newsgroups de.comp.lang.php
Subject Re: Array sort
Date 2017-12-31 14:23 +0100
Organization solani.org
Message-ID <p2aocn$dbh$1@solani.org> (permalink)
References <p24s8n$tg7$1@news.albasani.net> <p250kq$h23$1@news.albasani.net> <p25jl9$ttd$1@news.albasani.net> <p25r6q$8os$1@solani.org> <p2al59$avj$1@news.albasani.net>

Show all headers | View raw


Am 31.12.2017 um 13:28 schrieb Jan Novak:
>
> Am 29.12.2017 um 17:40 schrieb Christoph M. Becker:
>
>> Mögliche Alternative:
>>
>>    usort($array, function ($a, $b) {return $a['FILE'] <=> $b['FILE'];});
> 
> Interessant...
> 
> Mein primäres Problem war, dass ich dachte, die *sort Funktionen geben
> das sortierte Array zurück ;-)

Aus Effizienzgründen werden die per Referenz übergebenen Arrays in-place
sortiert. Will man das, aus welchen Gründen auch immer, nicht, dann kann
man leicht eine eigene Sortierfunktion schreiben, die das übergebene
Array unverändert lässt, und das sortierte Array zurück gibt. Etwa:

    <?php

    function my_sort($array)
    {
        $a = $array;
        sort($a);
        return $a;
    }

    $a = [2, 3, 1];
    var_dump($a, my_sort($a));

-- 
Christoph M. Becker

Back to de.comp.lang.php | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

Array sort Jan Novak <repcom@gmail.com> - 2017-12-29 08:52 +0100
  Re: Array sort Gerome Muent <kontakt@bmservices.de> - 2017-12-29 10:07 +0100
    Re: Array sort Jan Novak <repcom@gmail.com> - 2017-12-29 15:32 +0100
      Re: Array sort "Christoph M. Becker" <cmbecker69@arcor.de> - 2017-12-29 17:40 +0100
        Re: Array sort Jan Novak <repcom@gmail.com> - 2017-12-31 13:28 +0100
          Re: Array sort "Christoph M. Becker" <cmbecker69@arcor.de> - 2017-12-31 14:23 +0100

csiph-web