179 of 410 menu

Funktio array_multisort

Funktio array_multisort mahdollistaa useiden taulukoiden samanaikaisen lajittelun tai monimutkaisen lajittelun moniulotteisissa taulukoissa yhden tai useamman kriteerin mukaan.

Syntaksi

array_multisort( array1, [sorting_order = SORT_ASC], [sorting_type = SORT_REGULAR], array2, array3, ... );

Parametri sorting_order

Parametri sorting_order määrittää lajittelusuunnan. Tässä sen arvot:

Parametri Kuvaus
SORT_ASC Lajittelu nousevaan järjestykseen (oletusarvo).
SORT_DESC Lajittelu laskevaan järjestykseen.

Parametri sorting_type

Parametri sorting_type määrittää elementtien vertailutyypin. Tässä sen arvot:

Parametri Kuvaus
SORT_REGULAR Tavallinen elementtien vertailu (oletus).
SORT_NUMERIC Numeerinen elementtien vertailu.
SORT_STRING Merkkijonojen vertailu.
SORT_LOCALE_STRING Merkkijonojen vertailu nykyistä lokalia huomioiden.
SORT_NATURAL Luonnollinen merkkijonojen lajittelu (kuten tiedostoselaimessa).
SORT_FLAG_CASE Yhdistetään SORT_STRING tai SORT_NATURAL kanssa kirjainkoosta riippumattomaan lajitteluun.

Esimerkki

Kahden taulukon lajittelu parametreilla:

<?php $numbers = [10, 2, 15, 4]; $letters = ['b', 'a', 'd', 'c']; array_multisort( $numbers, SORT_DESC, SORT_NUMERIC, $letters, SORT_ASC, SORT_STRING ); print_r($numbers); print_r($letters); ?>

Koodin suorituksen tulos:

[15, 10, 4, 2] ['d', 'b', 'c', 'a']

Esimerkki

Moniulotteisen taulukon lajittelu annetun kentän mukaan:

<?php $data = [ ['name' => 'John', 'age' => 25], ['name' => 'Alice', 'age' => 22], ['name' => 'Bob', 'age' => 30] ]; $ages = array_column($data, 'age'); array_multisort($ages, SORT_ASC, $data); print_r($data); ?>

Koodin suorituksen tulos:

[ ['name' => 'Alice', 'age' => 22], ['name' => 'John', 'age' => 25], ['name' => 'Bob', 'age' => 30] ]

Esimerkki

Moniulotteisen taulukon lajittelu kahden annetun kentän mukaan:

<?php $data = [ ['name' => 'John', 'age' => 25], ['name' => 'alice', 'age' => 22], ['name' => 'Bob', 'age' => 30] ]; $names = array_column($data, 'name'); $ages = array_column($data, 'age'); array_multisort( $names, SORT_ASC, SORT_STRING | SORT_FLAG_CASE, $ages, SORT_DESC, $data ); print_r($data); ?>

Koodin suorituksen tulos:

[ ['name' => 'alice', 'age' => 22], ['name' => 'Bob', 'age' => 30], ['name' => 'John', 'age' => 25] ]

Esimerkki

Luonnollinen merkkijonojen lajittelu:

<?php $files = ['file1.txt', 'file10.txt', 'file2.txt']; array_multisort($files, SORT_ASC, SORT_NATURAL); print_r($files); ?>

Koodin suorituksen tulos:

['file1.txt', 'file2.txt', 'file10.txt']

Esimerkki

Kirjainkoosta riippumaton lajittelu:

<?php $words = ['Apple', 'banana', 'cherry', 'apricot']; array_multisort($words, SORT_ASC, SORT_STRING | SORT_FLAG_CASE); print_r($words); ?>

Koodin suorituksen tulos:

['Apple', 'apricot', 'banana', 'cherry']

Katso myös

  • funktion sort,
    joka lajittelee elementtien nousevaan järjestykseen
  • funktion rsort,
    joka lajittelee elementtien laskevaan järjestykseen
  • funktion ksort,
    joka lajittelee avainten nousevaan järjestykseen
  • funktion krsort,
    joka lajittelee avainten laskevaan järjestykseen
  • funktion asort,
    joka lajittelee elementtien nousevaan järjestykseen avaimia säilyttäen
  • funktion arsort,
    joka lajittelee elementtien laskevaan järjestykseen avaimia säilyttäen
  • funktion natsort,
    joka lajittelee luonnollisella tavalla
  • funktion natcasesort,
    joka lajittelee luonnollisella tavalla kirjainkoosta riippumatta
  • funktion usort,
    joka lajittelee callback-funktion perusteella
  • funktion uksort,
    joka lajittelee callback-funktion perusteella avainten mukaan
  • funktion uasort,
    joka lajittelee callback-funktion perusteella avaimia säilyttäen
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää