179 of 410 menu

Συνάρτηση array_multisort

Η συνάρτηση array_multisort επιτρέπει την ταυτόχρονη ταξινόμηση πολλαπλών πινάκων ή την εκτέλεση σύνθετης ταξινόμησης πολυδιάστατων πινάκων σύμφωνα με ένα ή πολλά κριτήρια.

Σύνταξη

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

Παράμετρος sorting_order

Η παράμετρος sorting_order ορίζει την κατεύθυνση ταξινόμησης. Οι τιμές της είναι:

Παράμετρος Περιγραφή
SORT_ASC Ταξινόμηση σε αύξουσα σειρά (προεπιλεγμένη τιμή).
SORT_DESC Ταξινόμηση σε φθίνουσα σειρά.

Παράμετρος sorting_type

Η παράμετρος sorting_type ορίζει τον τύπο σύγκρισης των στοιχείων. Οι τιμές της είναι:

Παράμετρος Περιγραφή
SORT_REGULAR Συνηθισμένη σύγκριση στοιχείων (από προεπιλογή).
SORT_NUMERIC Αριθμητική σύγκριση στοιχείων.
SORT_STRING Συμβολοσειρική σύγκριση στοιχείων.
SORT_LOCALE_STRING Συμβολοσειρική σύγκριση λαμβάνοντας υπόψη την τρέχουσα τοπική ρύθμιση.
SORT_NATURAL Φυσική ταξινόμηση συμβολοσειρών (όπως στον Εξερευνητή).
SORT_FLAG_CASE Συνδυάζεται με SORT_STRING ή SORT_NATURAL για ταξινόμηση χωρίς διάκριση πεζών/κεφαλαίων.

Παράδειγμα

Ταξινόμηση δύο πινάκων με καθορισμό παραμέτρων:

<?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); ?>

Αποτέλεσμα εκτέλεσης κώδικα:

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

Παράδειγμα

Ταξινόμηση πολυδιάστατου πίνακα σύμφωνα με ένα καθορισμένο πεδίο:

<?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); ?>

Αποτέλεσμα εκτέλεσης κώδικα:

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

Παράδειγμα

Ταξινόμηση πολυδιάστατου πίνακα σύμφωνα με δύο καθορισμένα πεδία:

<?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); ?>

Αποτέλεσμα εκτέλεσης κώδικα:

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

Παράδειγμα

Φυσική ταξινόμηση συμβολοσειρών:

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

Αποτέλεσμα εκτέλεσης κώδικα:

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

Παράδειγμα

Ταξινόμηση χωρίς διάκριση πεζών/κεφαλαίων:

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

Αποτέλεσμα εκτέλεσης κώδικα:

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

Δείτε επίσης

  • τη συνάρτηση sort,
    που ταξινομεί σε αύξουσα σειρά στοιχείων
  • τη συνάρτηση rsort,
    που ταξινομεί σε φθίνουσα σειρά στοιχείων
  • τη συνάρτηση ksort,
    που ταξινομεί σε αύξουσα σειρά κλειδιών
  • τη συνάρτηση krsort,
    που ταξινομεί σε φθίνουσα σειρά κλειδιών
  • τη συνάρτηση asort,
    που ταξινομεί σε αύξουσα σειρά στοιχείων με διατήρηση κλειδιών
  • τη συνάρτηση arsort,
    που ταξινομεί σε φθίνουσα σειρά στοιχείων με διατήρηση κλειδιών
  • τη συνάρτηση natsort,
    που ταξινομεί με φυσικό τρόπο
  • τη συνάρτηση natcasesort,
    που ταξινομεί με φυσικό τρόπο χωρίς διάκριση πεζών/κεφαλαίων
  • τη συνάρτηση usort,
    που ταξινομεί σύμφωνα με callback
  • τη συνάρτηση uksort,
    που ταξινομεί σύμφωνα με callback για τα κλειδιά
  • τη συνάρτηση uasort,
    που ταξινομεί σύμφωνα με callback με διατήρηση κλειδιών
Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη