Sobes.tech
Junior — Middle

Σε ποιους τύπους δεδομένων απαγορεύεται να αποδοθεί μια τιμή δείκτη;

sobes.tech AI

Απάντηση από AI

Στο PHP, η ανάθεση τιμής σε δείκτη (π.χ., κατά την πρόσβαση σε έναν πίνακα μέσω τετραγωνικών αγκυλών) απαγορεύεται για τους ακόλουθους τύπους δεδομένων:

  • Ακέραιοι τύποι (int, float, string, bool) — αυτοί δεν είναι πίνακες ή αντικείμενα, επομένως δεν μπορείτε να κάνετε κάτι όπως $intVar[0] = 'a';.
  • NULL — δεν επιτρέπεται η ανάθεση δείκτη, καθώς το NULL δεν είναι πίνακας ή αντικείμενο.

Η ανάθεση δείκτη είναι δυνατή μόνο για:

  • Πίνακες
  • Αντικείμενα που υλοποιούν το interface ArrayAccess

Παράδειγμα:

$arr = [];
$arr[0] = 'τιμή'; // σωστό

$intVar = 10;
$intVar[0] = 'a'; // σφάλμα