Τι είναι ένα απροσδιόριστο σφάλμα ευρετηρίου στην PHP και πώς μπορεί να διορθωθεί;

Ti Einai Ena Aprosdioristo Sphalma Eureteriou Sten Php Kai Pos Mporei Na Diorthothei



Όταν εργάζεστε με PHP, είναι σύνηθες να συναντήσετε ένα ' Μη προσδιορισμενο ΠΕΡΙΕΧΟΜΕΝΟ ' λάθος. Αυτό το σφάλμα παρουσιάζεται όταν προσπαθείτε να αποκτήσετε πρόσβαση σε ένα στοιχείο ή μια μεταβλητή πίνακα χρησιμοποιώντας ένα ευρετήριο που δεν υπάρχει, οδηγώντας σε απροσδόκητα αποτελέσματα ή σε σφάλμα προγράμματος.

Σε αυτό το άρθρο, θα εξηγήσουμε λεπτομερώς τι είναι ένα ' μη προσδιορισμενο ΠΕΡΙΕΧΟΜΕΝΟ Το σφάλμα είναι, οι πιθανοί λόγοι για αυτό και πώς να το διορθώσετε.







Undefined Index Error στην PHP

ένα ' Μη προσδιορισμενο ΠΕΡΙΕΧΟΜΕΝΟ Όπως ήδη αναφέρθηκε είναι ένα σφάλμα που παρουσιάζεται όταν ένας χρήστης προσπαθεί να αποκτήσει πρόσβαση σε ένα στοιχείο ή μια μεταβλητή σε έναν πίνακα χρησιμοποιώντας ένα ευρετήριο που δεν ορίζεται σε έναν κώδικα.





Λόγοι απροσδιόριστου σφάλματος ευρετηρίου στην PHP

Υπάρχουν διάφοροι πιθανοί λόγοι για αυτό το σφάλμα:





  • Ανορθόγραφο Όνομα ευρετηρίου
  • Πρόσβαση σε ανύπαρκτο ευρετήριο
  • Η τιμή ευρετηρίου δεν έχει οριστεί
  • Το κλειδί πίνακα δεν υπάρχει

Πώς να διορθώσετε το απροσδιόριστο σφάλμα ευρετηρίου στην PHP

Για να διορθώσετε αυτό το σφάλμα στην PHP, οι χρήστες μπορούν να χρησιμοποιήσουν τις ακόλουθες τρεις μεθόδους:

1: συνάρτηση isset().

ο isset() Το function είναι μια ενσωματωμένη συνάρτηση στην PHP που σας επιτρέπει να ελέγξετε την ύπαρξη μιας μεταβλητής ή ενός ευρετηρίου σε έναν πίνακα. Επιστρέφει αληθής εάν μια μεταβλητή ή ευρετήριο υπάρχει σε έναν πίνακα και false σε άλλη περίπτωση. Αν θέλετε να διορθώσετε το απροσδιόριστο σφάλμα ευρετηρίου στην PHP, μπορείτε να χρησιμοποιήσετε αυτήν τη συνάρτηση λαμβάνοντας υπόψη τον ακόλουθο κώδικα ως παράδειγμα που ελέγχει τη μεταβλητή που υπάρχει σε ένα πρόγραμμα.





$myarray = πίνακας ( 'ευρετήριο 1' => 'τιμή 1' , 'ευρετήριο 2' => 'τιμή 2' , 'ευρετήριο 3' => 'τιμή 3' ) ;

αν ( isset ( $myarray [ 'δείκτης' ] ) ) {

ηχώ $myarray [ 'δείκτης' ] ;

} αλλού {

ηχώ 'Το ευρετήριο δεν βρέθηκε στον πίνακα' ;

}

?>

Ο παραπάνω κώδικας χρησιμοποιεί το isset() λειτουργία για να ελέγξετε εάν το « δείκτης «το κλειδί υπάρχει στο Πίνακας $myarray. Εάν το κάνει, μπορούμε να έχουμε πρόσβαση με ασφάλεια στην αξία του χρησιμοποιώντας $myarray['index'] χωρίς να δημιουργηθεί σφάλμα. Διαφορετικά, λαμβάνουμε ένα μήνυμα που υποδεικνύει ότι το ευρετήριο δεν βρέθηκε στη συστοιχία. Από τα παραπάνω κώδικας το κλειδί ευρετηρίου δεν είναι διαθέσιμο ο κωδικός θα δώσει το αποτέλεσμα ' Το ευρετήριο δεν βρέθηκε στον πίνακα '.

2: Συνάρτηση array_key_exists().

Αυτή είναι μια άλλη χρήσιμη συνάρτηση στην PHP που σας επιτρέπει να ελέγξετε για ένα ευρετήριο σε έναν πίνακα. Λειτουργεί παρόμοια με την παραπάνω συνάρτηση επιστρέφοντας true αν υπάρχει ευρετήριο σε έναν πίνακα. Διαφορετικά, βγάζει το σφάλμα δεν βρέθηκε ευρετήριο.

Το παρακάτω παράδειγμα δείχνει τη λειτουργία αυτής της συνάρτησης στην PHP.



$myarray = πίνακας ( 'ευρετήριο 1' => 'τιμή 1' , 'ευρετήριο 2' => 'τιμή 2' , 'ευρετήριο 3' => 'τιμή 3' ) ;

αν ( array_key_exists ( 'δείκτης' , $myarray ) ) {

ηχώ $myarray [ 'δείκτης' ] ;

} αλλού {

ηχώ 'Το ευρετήριο δεν βρέθηκε στον πίνακα' ;

}

?>

Ο παραπάνω κώδικας χρησιμοποιεί το array_key_exists() λειτουργία για να ελέγξετε εάν το « δείκτης «το κλειδί υπάρχει στο Πίνακας $myarray. Εάν το κάνει, μπορούμε να έχουμε πρόσβαση με ασφάλεια στην αξία του χρησιμοποιώντας $myarray['index'] χωρίς να δημιουργηθεί σφάλμα.

Από τον παραπάνω κώδικα δείκτης το κλειδί δεν είναι διαθέσιμο ο κωδικός θα δώσει το αποτέλεσμα ' Το ευρετήριο δεν βρέθηκε στον πίνακα '.

3: Χρήση τελεστή Null Coalescing

ο μηδενικός τελεστής συγχώνευσης (??) είναι μια άλλη χρήσιμη μέθοδος για τον έλεγχο ύπαρξης ευρετηρίου σε έναν πίνακα, καθώς θα σας βοηθήσει να διορθώσετε το απροσδιόριστο σφάλμα ευρετηρίου στον κώδικα PHP σας. Εξετάστε τον παρακάτω κώδικα για να μάθετε πώς να το χρησιμοποιείτε null coalescing operator στην PHP.



$myarray = πίνακας ( 'ευρετήριο 1' => 'τιμή 1' , 'ευρετήριο 2' => 'τιμή 2' , 'ευρετήριο 3' => 'τιμή 3' ) ;

ηχώ $myarray [ 'δείκτης' ] ?? 'Το ευρετήριο δεν βρέθηκε στον πίνακα' ;

?>

Ο παραπάνω κώδικας χρησιμοποιεί το μηδενικός τελεστής συγχώνευσης (??) για να ελέγξετε για το κλειδί ευρετηρίου που υπάρχει στο Πίνακας $myarray . Εάν συμβεί αυτό, μπορούμε να λάβουμε την τιμή στην κονσόλα. Ωστόσο, εάν το ευρετήριο δεν υπάρχει, επιστρέφει το ' Το ευρετήριο δεν βρέθηκε στον πίνακα Έξοδος ” στην κονσόλα.

συμπέρασμα

Ο ' μη προσδιορισμενο ΠΕΡΙΕΧΟΜΕΝΟ ” είναι ένα συνηθισμένο σφάλμα στην PHP που παρουσιάζεται όταν προσπαθείτε να αποκτήσετε πρόσβαση σε ένα ανύπαρκτο ευρετήριο πίνακα. Ανορθόγραφο όνομα ευρετηρίου, ανύπαρκτο ευρετήριο ή μη καθορισμένη τιμή ευρετηρίου μπορεί να προκαλέσει αυτόν τον τύπο σφάλματος. Για να το διορθώσετε, μπορείτε να χρησιμοποιήσετε το isset(), array_key_exists() , ή τον τελεστή μηδενικής συγχώνευσης (??). Ακολουθήστε τις παραπάνω οδηγίες για να μάθετε για αυτές τις μεθόδους λεπτομερώς.