Forum und email

Ανάθεση Τελεστών

Ο βασικός τελεστής ανάθεσης είναι ο "=". Η πρώτη σας σκέψη ίσως είναι ότι αυτό είναι το ίδιο με το "ισούται με". Αλλά δεν είναι. Αυτό που πραγματικά σημαίνει είναι ότι το αριστερό μέρος του τελεστή παίρνει την τιμή της έκφρασης στα δεξιά (δηλαδή, "ανατίθεται σε").

Η τιμή μιας έκφρασης ανάθεσης είναι η τιμή που της ανατίθεται. Δηλαδή, η τιμή του "$a = 3" είναι 3. Αυτό σας επιτρέπει να κάνετε μερικά περίπλοκα πράγματα:

$a = ($b = 4) + 5; // $a is equal to 9 now, and $b has been set to 4.

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

$a = 3;
$a += 5; // sets $a to 8, as if we had said: $a = $a + 5;
$b = "Hello ";
$b .= "There!"; // sets $b to "Hello There!", just like $b = $b . "There!";

Σημειώστε ότι η ανάθεση αντιγράφει την αρχική μεταβλητή στην καινούρια (ανάθεση με τιμή), συνεπώς αλλαγές στο ένα δε θα επηρεάσουν το άλλο. Αυτό μπορεί επίσης να έχει σχέση αν χρειαστεί να αντιγράψετε κάτι όπως έναν μεγάλο πίνακα μέσα σε ένα στενό loop. Η PHP 4 υποστηρίζει την ανάθεση με αναφορά, χρησιμοποιώντας τη $var = &$othervar; σύνταξη, αλλά αυτό δεν είναι δυνατό στην PHP 3. 'Ανάθεση με αναφορά' σημαίνει πως και οι δυο μεταβλητές καταλήγουν στο να δείχνουν στα ίδια δεδομένα, και τίποτα δεν αντιγράφεται πουθενά. Για να μάθετε περισσότερα για τις αναφορές, διαβάστε το Επεξήγηση των αναφορών.