Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Iterator tablicy? Pytanie o wskaźniki do elementów
noemail
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 18.07.2015

Ostrzeżenie: (0%)
-----


Witam, trochę w php brakuje mi wskaźników.

Załóżmy, że dane trzymam w obiekcie w pewnej dużej tablicy, takim drzewku złożonym z mnieszych tablic i dopiero te tablice zawierają wartości.

Coś w tym stylu:

  1. $Tree = array(
  2. 'litery' => array( 'a', 'b', 'c' ),
  3. 'cyfry' => array( '1', '2', '3' ),
  4. 'imiona' => array('Zdzisiek', 'Czesiek', 'Wacek')
  5.  
  6.  
  7. //itd... itd...
  8.  
  9. );


Teraz chciałbym mieć małpki, które po gałązkach tego drzewka mogą skakać i zwywać listki.

  1. $Monkey1 = new CMonkey( 'cyfry' );
  2.  
  3. $Monkey1 ->reset();
  4.  
  5. while ( $next = $Monkey1 ->get_next() ) // 1, 2, 3
  6. {
  7. }



Problem robi się kiedy dwie małpki siadają na tej samej gałązce.

Jeśli każda ma referencję do tej samej części tablicy to operacje na tablicy za pomocą reset(), each(), next() itp... zawadzają o siebie.

A jeśli każa dostaje kopię tablicy to następuje utrata wydajności i patrząc na czas wykonania skryptu najprawdopodobniej następuje kopiowanie tablic.

Jakby były wskaźniki i nie trzeba było korzystać z reset(), each(), next() toby było ok.

A może gdzieś w php jest zaszyty jakiś mechanizm jak pozwalający to dobrze zrobić? Chodzi o jakieś iteratory które mogą łazić po jednej wspólnej złożonej strukturze danych nie powodując w żadnym momencie jej kopiowania.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 14:05