2012-04-24 41 views
10

Trong PHP, tôi muốn biết ý nghĩa của array(&$this).

+10

Điều đó có nghĩa là bạn đang sử dụng tập lệnh PHP4 :) PHP 5 sẽ * luôn * chuyển tham chiếu của đối tượng, vì vậy không cần phải biểu thị nó làm tham chiếu. –

Trả lời

13

Đó là cấu trúc khởi tạo array chứa một phần tử: reference đối tượng mà mảng được khởi tạo. Bên trong mỗi lớp, bạn có thể tham chiếu đến cá thể "hiện tại" bằng cách sử dụng $this.

+0

cũng nên lưu ý rằng cấu trúc này ('mảng (& $ cái gì đó)') có thể được sử dụng như một cách giải quyết để sử dụng "truyền tham chiếu" tới một hàm có tham số mặc định. Có một cuộc thảo luận lớn đang diễn ra về điều này trong phần bình luận của [hướng dẫn sử dụng PHP] (http://php.net/manual/en/language.references.pass.php) – Kaii

6

PHP của nó pass by reference xây dựng. Thông thường điều này có nghĩa là một tham chiếu đến tham số được truyền cho hàm thay vì một bản sao của giá trị, do đó các thay đổi bên trong hàm ảnh hưởng đến đối tượng.

+5

Đây không phải là câu trả lời, đó là một liên kết ... – Jasper

+0

và & $ này đề cập đến mảng? – Zaidar

+0

@Jasper: Rất tiếc, sắp xếp các chi tiết mất nhiều thời gian hơn tôi mong đợi. –

0

Điều này tạo ra một mảng với một phần tử duy nhất. Phần tử là một tham chiếu đến đối tượng mà từ đó nó được thực hiện. Để biết thêm thông tin, hãy xem tài liệu trên passing by reference.