184 of 410 menu

Συνάρτηση array_reduce

Η συνάρτηση array_reduce αναγάγει (reduces) έναν πίνακα σε μία μόνο τιμή, χρησιμοποιώντας callback.

Στην πρώτη παράμετρο η συνάρτηση δέχεται έναν πίνακα, στη δεύτερη - το callback που θα εφαρμόζεται διαδοχικά σε κάθε στοιχείο του πίνακα.

Στην τρίτη προαιρετική παράμετρο βρίσκεται η αρχική τιμή, από την οποία θα ξεκινήσει η αναγωγή του πίνακα. Από προεπιλογή αυτή η παράμετρος έχει τιμή null.

Η συνάρτηση-callback δέχεται ως παραμέτρους δύο τιμές. Η πρώτη τιμή περιέχει την τιμή αποτελέσματος από την προηγούμενη επανάληψη. Στην περίπτωση της πρώτης επανάληψης περιέχει την τιμή της τρίτης παραμέτρου.

Και η δεύτερη τιμή του callback περιέχει το τρέχον στοιχείο του πίνακα.

Το callback θα εφαρμόζεται διαδοχικά σε κάθε στοιχείο του πίνακα. Αυτό που θα επιστρέφει στην τρέχουσα επανάληψη το callback, θα περνάει στην πρώτη παράμετρο του callback στην επόμενη επανάληψη.

Έτσι, το callback εφαρμόζεται διαδοχικά σε κάθε στοιχείο του πίνακα με τη σειρά και τελικά προκύπτει μια τιμή. Αυτή η τιμή θα είναι το αποτέλεσμα λειτουργίας της συνάρτησης array_reduce.

Σύνταξη

array_reduce(array $array, callable $callback, mixed $initial = null): mixed

Παράδειγμα

Ας βρούμε το άθροισμα των στοιχείων του πίνακα:

<?php $arr = [1, 2, 3, 4, 5]; function func($prev, $elem) { return $prev + $elem; } $res = array_reduce($arr, 'func', 0); echo $res; ?>

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

15

Δείτε επίσης

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