Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> PHP /MySQL Προγραμματισμός

Οι επιδόσεις ενός Array Associative σε PHP

PHP είναι μια γλώσσα που βασίζεται σε διακομιστή για τη δημιουργία διαδραστικών εφαρμογών Web και καθιστώντας περιεχομένου από τους χρήστες σε πρώτη ζήτηση . Υποστηρίζει μια ποικιλία από μαθήματα συλλογής δεδομένων στην κατασκευή του πίνακα , συμπεριλαμβανομένων πίνακες με δείκτες και συνειρμική συστοιχίες . Με ένα μεγάλο αριθμό χρηστών, επιδόσεις του κωδικού σας μπορεί να γίνει ένα ζήτημα . Αν και συνειρμική συστοιχίες δεν απαιτούν σημαντική επιβάρυνση της CPU , που χρειάζονται περισσότερη μνήμη για να αποθηκεύουν στη μνήμη RAM , όπως το πρόγραμμα σας τρέχει . Indexed Πίνακες
Η

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

$ my_array = array ( 1 , 2 , 3 , 4 , 5) ? .

Πρόσβαση στο στοιχείο " $ my_array [ 0 ] " επιστρέφει την τιμή 1 . Πίνακες με δείκτες είναι καλύτερο για την αποθήκευση και την πρόσβαση σε δομημένα δεδομένα . Θα ήταν όμως αναποτελεσματικό να κάνετε τα εξής , καθώς θα καλύψει τα κενά των τιμών του δείκτη , λαμβάνοντας μια πολύ μεγάλη ποσότητα μνήμης :

$ my_array [ ] = 7 ? $ My_array [ 13] = 5 ? $ my_array [ 76 ] = -4 ?
εικόνων associative πίνακες
Η

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

$ my_array ( 0 = > 5 , 13 = > 5 , 75 = > -4 ) ? $ My_array ( "ένα" = > 1 , " δύο " = > 2 , " δεκαεπτά " = > 17) ?

Η Performance CPU
Η

PHP έχει βελτιστοποιηθεί για η επεξεργασία των χορδών . Έχοντας ένα string ως το κλειδί για ένα associative array δεν παράγει πολύ γενικά . Όταν αποκτάτε πρόσβαση σε ένα στοιχείο σε ένα associative array στην PHP , η σειρά δεν έψαξε από την αρχή μέχρι το τέλος για να καθορίσει εάν οποιοδήποτε από τα πλήκτρα ταιριάζουν . Αντ 'αυτού , ένα κλειδί σε ένα associative array χάρτες σε μια τιμή του δείκτη , χωρίς πρόσθετη επιβάρυνση στην αναζήτηση χρόνο πάνω πίνακες με δείκτες .
Αποδοσεις μνήμης
Η

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

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα