Sì, gli array PHP sono dinamici, nel senso che si può creare un array, inserire nuovi elementi, eliminare elementi, ecc. senza mai preoccuparsi delle sue dimensioni. L'array cresce o si riduce, se necessario, automaticamente.
Tuttavia non hai completamente "fatto i compiti", dato che la maggior parte dei libri di programmazione PHP ti avrebbe detto quanto sopra :) A proposito, se hai bisogno di una raccomandazione, mi piacerebbe andare su "Programming PHP" di O'Reilly ".
Una particolarità degli array PHP è che sono tutti implementati come array associativi , raccolte ordinate di coppie chiave-valore (a.k.a. maps o tabelle hash). Anche un array "normale" di, per esempio, stringhe, è un array associativo in cui le chiavi sono indici (generati automaticamente). Ad esempio, array("a", "b", "c")
è in realtà uguale a array(0 => "a", 1 => "b", 2 => "c")
. È un design molto interessante ...
L'ultima parte della tua domanda è piuttosto sconcertante, anche se "sono array di PHP esempi di strutture dati dinamiche, o sono limitati a alberi binari e liste a doppio collegamento?" Perché, gli alberi binari e le liste collegate sono esempi tipici di strutture dinamiche pure! (dove un nodo viene inserito o rimosso ogni volta che un elemento viene aggiunto o eliminato dalla struttura dati) Quindi è come chiedere se una mela è rossa o rossa ...
Questa pagina di Wikipedia confronta i linguaggi di programmazione e, in particolare, ti dice quali lingue supportano gli array dinamici, o meno:
link