Test praktyka mówi, że pierwsza iteracja jest lepsza niż sekundę.
To nie jest najlepsza rada. Są to różne narzędzia do różnych zadań.
The &
oznacza traktować zmienną przez odniesienie w przeciwieństwie do kopii.
Kiedy masz referencję do zmiennej, jest ona podobna do wskaźnika w C. Uzyskiwanie dostępu do zmiennej umożliwia dostęp do lokalizacji w pamięci oryginalnej zmiennej, co pozwala modyfikować jej wartość za pomocą innego identyfikatora.
// Some variable.
$a = 42;
// A reference to $a.
// & operator returns a reference.
$ref = &$a;
// Assignment of $ref.
$ref = "fourty-two";
// $a itself has changed, through
// the reference $ref.
var_dump($a); // "fourty-two"
przykład odniesienia na CodePad.
Normalne zachowanie foreach
polega na udostępnieniu kopii powiązanemu blokowi. Oznacza to, że możesz go ponownie przypisać i nie wpłynie to na element tablicy (nie będzie tak w przypadku zmiennych, które zawsze są referencjami, na przykład instancji klasy).
Przykład kopiowania na CodePad. []
używając informacji w foreach
ma pewne skutki uboczne, takie jak wiszącym $val
odniesieniu do ostatniej wartości powtarzanych w ciągu, który może być modyfikowany później przypadkowo i mają wpływ na układ.
Przykład referencji zwisających na CodePad.
Tak, to ma tendencję do dezorientowania ludzi: http://stackoverflow.com/questions/6287970/php-foreach-statement-by-reference-unexpected-behaviour-when-reusing-iterator –
Proponuję ci przeczytać [to ] (http://stackoverflow.com/questions/10057671/how-foreach-actually-works). – BlitZ
Jaki egzamin? Nie mogę uwierzyć, że to było z ZCE –