There is also a array-append-Operator:
<?php
$array []= $element;
?>
This appends the element to the end of the array, as
<?php
array_push($array, $element);
?>
would do.
(This is documented on the array_push page, but not here in the operator section.)
Ανάθεση Τελεστών
Ο βασικός τελεστής ανάθεσης είναι ο "=". Η πρώτη σας σκέψη ίσως είναι ότι αυτό είναι το ίδιο με το "ισούται με". Αλλά δεν είναι. Αυτό που πραγματικά σημαίνει είναι ότι το αριστερό μέρος του τελεστή παίρνει την τιμή της έκφρασης στα δεξιά (δηλαδή, "ανατίθεται σε").
Η τιμή μιας έκφρασης ανάθεσης είναι η τιμή που της ανατίθεται. Δηλαδή, η τιμή του "$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. 'Ανάθεση με αναφορά' σημαίνει πως και οι δυο μεταβλητές καταλήγουν στο να δείχνουν στα ίδια δεδομένα, και τίποτα δεν αντιγράφεται πουθενά. Για να μάθετε περισσότερα για τις αναφορές, διαβάστε το Επεξήγηση των αναφορών.
Ανάθεση Τελεστών
29-Apr-2008 06:07
05-Feb-2008 05:54
You could also take adam at gmail dot com's xor-assignment operator and use the fact that it's right-associative:
$a ^= $b ^= $a ^= $b;
07-Oct-2007 03:22
bradlis7 at bradlis7 dot com's description is a bit confusing. Here it is rephrased.
<?php
$a = 'a';
$b = 'b';
$a .= $b .= "foo";
echo $a,"\n",$b;?>
outputs
abfoo
bfoo
Because the assignment operators are right-associative and evaluate to the result of the assignment
<?php
$a .= $b .= "foo";
?>
is equivalent to
<?php
$a .= ($b .= "foo");
?>
and therefore
<?php
$b .= "foo";
$a .= $b;
?>
25-Aug-2006 10:38
or you could use the xor-assignment operator..
$a ^= $b;
$b ^= $a;
$a ^= $b;
15-Aug-2005 08:13
Note whenever you do this
<?php
$a .= $b .= "bla bla";
?>
it comes out to be the same as the following:
<?php
$a .= $b."bla bla";
$b .= "bla bla";
?>
So $a actually becomes $a and the final $b string. I'm sure it's the same with numerical assignments (+=, *=...).
20-Feb-2004 10:18
This page really ought to have table of assignment operators,
namely,
See the Arithmetic Operators page (http://www.php.net/manual/en/language.operators.arithmetic.php)
Assignment Same as:
$a += $b $a = $a + $b Addition
$a -= $b $a = $a - $b Subtraction
$a *= $b $a = $a * $b Multiplication
$a /= $b $a = $a / $b Division
$a %= $b $a = $a % $b Modulus
See the String Operators page(http://www.php.net/manual/en/language.operators.string.php)
$a .= $b $a = $a . $b Concatenate
See the Bitwise Operators page (http://www.php.net/manual/en/language.operators.bitwise.php)
$a &= $b $a = $a & $b Bitwise And
$a |= $b $a = $a | $b Bitwise Or
$a ^= $b $a = $a ^ $b Bitwise Xor
$a <<= $b $a = $a << $b Left shift
$a >>= $b $a = $a >> $b Right shift
