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

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

PHP Σφάλμα : Undefined Offset

Στην PHP , ένα ευρετήριο καταστήματα array ζευγάρια κλειδί-τιμή των δεδομένων με τη χρήση μη μηδενικών ακεραίων ως κλειδιά . Το πρώτο στοιχείο του πίνακα έχει ένα κλειδί από το μηδέν και τα επόμενα στοιχεία αριθμούνται διαδοχικά . Μια σειρά που χρησιμοποιεί χορδές , όπως τα κλειδιά ονομάζεται associative array . Όταν προσπαθείτε να αποκτήσετε πρόσβαση σε ένα στοιχείο του πίνακα με ένα κλειδί ακέραιος που είναι έξω από τα όρια των έγκυρων κλειδιών σε μια σειρά , θα λάβετε ένα " Απροσδιόριστος offset " σφάλμα . Το αντίστοιχο σφάλμα για ένα associative array είναι μια « απροσδιόριστη δείκτη " σφάλμα . Προετοιμασία με τη λειτουργία Array
Η

Ένας τρόπος για να δημιουργήσετε ένα array στην PHP είναι να χρησιμοποιήσετε τη λειτουργία "συστοιχίες" . Περάστε μια διατεταγμένη λίστα των στοιχείων και PHP θα δημιουργήσει ένα ευρετήριο πίνακα των εν λόγω στοιχείων αρχίζοντας από το μηδέν . Για παράδειγμα :

εικόνων Undefined Offset
Η

μια «απροσδιόριστη offset "σφάλμα στην PHP συμβαίνει όταν προσπαθείτε να αναφέρονται σε ένα στοιχείο πίνακα, χρησιμοποιώντας μια σειρά τιμή του δείκτη που δεν υπάρχει . Εάν είστε νέοι στον προγραμματισμό , μπορείτε να ξεχάσετε ότι ευρετήριο πλήκτρα στοιχείο του πίνακα αρχίζουν με το μηδέν , όχι ένα , και τέλος με τον αριθμό των στοιχείων του πίνακα μείον ένα . Για παράδειγμα , ο παρακάτω κώδικας θα παράγει μια « απροσδιόριστη offset " σφάλμα σε PHP , επειδή η « dayofweek " συστοιχία έχει επτά στοιχεία σε ευρετήρια από το μηδέν έως έξι , όχι ένα έως επτά :

echo $ dayofweek [ 7 ] ?

Η Προετοιμασία Μέσα από μια λειτουργία
Η

Μπορείτε επίσης να προετοιμάσει μια σειρά από ότι αυτό ισούται με την τιμή επιστροφής μιας συνάρτησης που επιστρέφει έναν πίνακα , ή περνώντας μια σειρά με αναφορά σε μια συνάρτηση που θα τροποποιήσει τη συστοιχία . Για παράδειγμα :

$ array = initialize_array ( ) ? //Μια λειτουργία που επιστρέφει έναν πίνακα

Εάν δεν είστε σίγουροι ποιο είναι το τελευταίο στοιχείο είναι στο πίνακα που επιστρέφεται από τη συνάρτηση και να προσπαθήσετε για να αποκτήσετε πρόσβαση σε ένα στοιχείο του πίνακα μετά την τελευταία καθορισμένη ακέραιο κλειδί , θα λάβετε ένα "απροσδιόριστο offset " σφάλμα .
εικόνων αποφυγή με Count
Η

ένας τρόπος για να αποφευχθεί μια " ? Απροσδιόριστος offset "λάθος είναι να ελέγχει τα πλήκτρα ακέραιος που χρησιμοποιείτε για να χρησιμοποιείτε ως αναφορά τις τιμές του πίνακα με έναν βρόχο , όπως ένα βρόχος" for " . Χρησιμοποιήστε τη λειτουργία « μετράνε » για να προσδιορίσει τον αριθμό των στοιχείων σε ένα πίνακα και να δημιουργήσετε ένα " για " βρόχο από το στοιχείο μηδέν έως το τελευταίο στοιχείο . Για παράδειγμα , ο παρακάτω κώδικας υπολογίζει τον αριθμό των στοιχείων σε ένα πίνακα για να δημιουργήσετε μια θηλιά που δεν θα υπερβαίνει το όριο πίνακα:

$ numdays = count ( $ dayofweek ) ? //Επιστρέφει 7for ( $ i = 0 ? $ i <$ numdays ? $ i + + ) echo "

  • " . $ dayofweek [ $ i ] . "
  • " ? //στοιχεία αριθμούνται από το μηδέν έως έξι εικόνων
    Αποφυγή Με το " isset " Λειτουργία
    Η

    Ένας άλλος τρόπος για να αποφευχθεί μια " Απροσδιόριστος offset " λάθος είναι να χρησιμοποιήσετε τη λειτουργία" isset " . Αυτή η συνάρτηση επιστρέφει "true" ή " false" , ανάλογα με το αν έχετε μια τιμή πίνακα με το καθορισμένο κλειδί . Δεν θα προκαλέσει μια « απροσδιόριστη offset " σφάλμα εάν το αποτέλεσμα είναι ψευδής . Πριν επιχειρήσετε να αναφέρονται σε ένα στοιχείο του πίνακα , καλέστε τη λειτουργία " isset " για να δείτε εάν υπάρχει . Για παράδειγμα , ο παρακάτω κώδικας αυξάνει ένα μετρητή μέχρι να φτάσει ένα κλειδί σειρά έξω από τα όρια του πίνακα :

    $ την ημέρα = -1 ? Ενώ ( isset ( $ dayofweek [ + + $ ημέρα ] ) ) echo " " . $ dayofweek [ $ την ημέρα ] . " " ?
    Η
    εικόνων

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

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