194 of 410 menu

Συνάρτηση array_udiff_assoc

Η συνάρτηση array_udiff_assoc επιστρέφει έναν πίνακα, που περιέχει όλα τα στοιχεία του πρώτου πίνακα, τα οποία απουσιάζουν από τους επόμενους πίνακες. Η σύγκριση κλειδιών εκτελείται από τον ενσωματωμένο μηχανισμό της PHP, ενώ των τιμών - με τη βοήθεια μιας χρηστικής callback-συνάρτησης.

Σύνταξη

array_udiff_assoc(array $array1, array $array2, ..., callable $value_compare_func): array

Παράδειγμα

Σύγκριση πινάκων με χρηστική συνάρτηση:

<?php function compare($a, $b) { return $a <=> $b; } $array1 = ["a" => "green", "b" => "brown", "c" => "blue"]; $array2 = ["a" => "green", "b" => "yellow", "d" => "blue"]; print_r(array_udiff_assoc($array1, $array2, "compare")); ?>

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

Array ( [b] => brown [c] => blue )

Παράδειγμα

Σύγκριση με αριθμητικούς δείκτες:

<?php function numCompare($a, $b) { return $a - $b; } $array1 = [10 => "apple", 20 => "banana", 30 => "cherry"]; $array2 = [10 => "pear", 20 => "banana", 40 => "cherry"]; print_r(array_udiff_assoc($array1, $array2, "strcmp")); ?>

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

Array ( [10] => apple [30] => cherry )

Παράδειγμα

Σύνθετη σύγκριση αντικειμένων:

<?php class Product { public $id; public $name; public function __construct($id, $name) { $this->id = $id; $this->name = $name; } } function objCompare($a, $b) { return strcmp($a->name, $b->name); } $products1 = [ "p1" => new Product(1, "Laptop"), "p2" => new Product(2, "Phone") ]; $products2 = [ "p1" => new Product(3, "Tablet"), "p3" => new Product(2, "Phone") ]; print_r(array_udiff_assoc($products1, $products2, "objCompare")); ?>

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

Array ( [p1] => Product Object ( [id] => 1 [name] => Laptop ) )

Δείτε επίσης

  • τη συνάρτηση array_diff_assoc,
    που υπολογίζει τη διαφορά πινάκων με έλεγχο ευρετηρίων
  • τη συνάρτηση array_udiff,
    που υπολογίζει τη διαφορά πινάκων με 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 για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη