PHP OOP中的$a = &$b
,$a = $b
和$b = clone $a
之間的區別是什麼? $a
是一個類的實例。
3
A
回答
8
// $a is a reference of $b, if $a changes, so does $b.
$a = &$b;
// assign $b to $a, the most basic assign.
$a = $b;
// This is for object clone. Assign a copy of object `$b` to `$a`.
// Without clone, $a and $b has same object id, which means they are pointing to same object.
$a = clone $b;
並檢查與References,Object Cloning更多信息。
0
// $a has same object id as $b. if u set $b = NULL, $a would be still an object
$a = $b;
// $a is a link to $b. if u set $b = NULL, $a would also become NULL
$a = &$b;
// clone $b and store to $a. also __clone method of $b will be executed
$a = clone $b;
-1
如果你不知道什麼是ZVAL結構,什麼是引用計數,is_ref在ZVAL結構有關,只是需要一些時間PHP's garbage collection。
相關問題
- 1. a + = b和a = + b之間的區別是什麼,a ++和++ a?
- 2. ||之間的區別a = b和a = a || b在紅寶石?
- 3. a + b和.__之間的區別__(b)
- 4. [:] = b和a = b [:]之間的區別? (Python)
- 5. 區別 「A級; B類」 和 「類A :: B」
- 6. Kleene明星在編程。 (a | b)*和a * b *之間的區別?
- 7. Scala中f(a,b)和f(a)(b)之間的區別
- 8. a,b = b,a + b和a = b,b = a + b在fibonacci中的區別是什麼[Python]
- 9. a [:] = b和a = b之間的區別是什麼?
- 10. a // b和int(a/b)之間有什麼區別?
- 11. A == B對B == A,有什麼區別
- 12. Java中a + = b和a = a + b的區別
- 13. GROUP BY(A,B)和(B,A)
- 14. double a = a + int b和int a + = double b之間的區別是什麼?
- 15. [b] [b = a,0]如何在a和b之間交換?
- 16. (A && B)與(A和B)
- 17. val b = a(a是一個Array)和val b = a.clone()之間的區別是什麼?
- 18. [abc]和(a | b | c)之間的區別
- 19. PHP變換陣列'a','b','c'到'a/b/c','a/b','a'
- 20. 從{a-b,b-c,c-a}改變爲{(a,b),(b,c),(c,a)}?
- 21. 在git中,A..B和A ... B有什麼區別?
- 22. flash(a,b)和flash()。put(a,b)在PlayFramework中有什麼區別?
- 23. SqlAlchemy如何查詢列A == a和B == b和A == b和B == a
- 24. MatLab中的[A,B]和[A; B]有什麼區別?
- 25. (a不在b)與(不在b中)之間的區別。 Python
- 26. MySQL:`... ADD INDEX(a);之間的區別... ADD INDEX(b);`和`... ADD INDEX(a,b);`?
- 27. A→B,B→A類協會
- 28. d.update(dict(a = 1,b = 2))和d.update(dict('a'= 1,'b'= 2)之間有什麼區別)
- 29. 'A','B'和'A或B'的T-SQL COUNT
- 30. `從abc import a,b`和`from abc import(a,b)`有沒有區別?
+1比我快:) –
我寫的也差不多了! +1,但我希望你能更多地解釋PHP的引用和克隆。更新:當然你更新了你的答案,同時我發佈了評論:D – Adi
我不明白$ a = $ b之間的主要區別是什麼;和$ a = &$b;如果你看看這裏的第一個例子http://php.net/manual/en/language.oop5.references.php它給出了相同的結果 –