PHP “&” operatörü

Ocak 8 düzenlendi kategorisi Php
Bir PHP programcısı değilim (ama diğer dilleri biliyorum) ve bazı değişiklikler yapmak için PHP'de (5.1.6) yapılan bir web sayfasını anlamaya çalışıyorum.
Sayfada aşağıdaki kod var (basitleştirilmiş):
$db_hosts = array(); $sql = 'SELECT h.hostid, h.host FROM hosts h '; $db_items = DBselect($sql); while($db_item = DBfetch($db_items)){ $name = $db_item['host']; $db_host = &$db_hosts[$db_item['hostid']]; }
Son çizgiyi anlamaya çalışıyorum $db_host = &$db_hosts[$db_item['hostid']];.

Yeni bir değişken yaratmak $db_hostve içine bir şey koymak gibi görünüyor , ama anlamıyorum &$db_hosts.

Şüpheliyim çünkü bildiğim kadarıyla $db_hostsboş bir dizi.

Bulduğum bu ve bu , ama ben bu bağlantıların içinde, operatör olduğu için "= &" ve kodunda, operatör değişkene bağlı "= & $ db_hosts" olduğu, pek emin değilim (bir alana sahip = ile &) arasında.

Değiştirmeye çalıştığım ve başarılı olamadığımdan, yardım istemenin daha iyi olacağını düşündüm ...

Yorumlar

  • Bunlar referanslar ve C veya C ++ 'daki "işaretçiler" e benziyorlar.

    Daha fazla bilgi PHP kılavuzundadır .

    Bu durumda, $db_hostsboş olduğundan, yapı $db_hosts[$db_item['hostid']], dizininde boş bir öğeye sahip yeni bir dizi oluşturacak $db_item['hostid']ve öğenin başvurusunu $db_hostdöndürerek $db_hosts[$db_item['hostid']], şu anda ne olursa olsun 'takma ad' olarak davranacaktır .
Yorum yapmak içinOturum Açın yada Kayıt Olun .