devblog, portfolio

zendblog, zend framework, php, jquery pluginy



PHP: Konwertowanie tablic do stdClass (array to stdClass, rekurencja)

Osoby, które zainteresowały się już programowaniem obiektowym w PHP (część 1 kursu), z pewnością wiedzą co to klasa i obiekt. stdClass (klasa standardowa) to jedna z wbudowanych do PHP klas i jest to pewnego rodzaju magazyn danych. Na razie nie będę się o niej rozpisywać. Zajmiemy się tematem dzisiejszego artykułu, czyli konwertowaniem tablic do obiektu stdClass.

Osoby, które zainteresowały się już programowaniem obiektowym w PHP (część 1 kursu), z pewnością wiedzą co to klasa i obiekt. stdClass (klasa standardowa) to jedna z wbudowanych do PHP klas i jest to pewnego rodzaju magazyn danych. Na razie nie będę się o niej rozpisywać. Zajmiemy się tematem dzisiejszego artykułu, czyli konwertowaniem tablic do obiektu stdClass.

Funkcja

Do tego celu możemy napisać zwyczajną funkcję, lub jeśli korzystamy z jakiegoś frameworka, który nie posiada takiej funkcji, to możesz dodać ją do klasy obsługującej tablice (ja dodałem taką funkcję do klasy sf_array należącej do SpawnFramework'a, ponieważ w oryginale jej tam nie ma).

listing 1

Jak widzicie nie jest to nic trudnego. W linii 17 pojawia się rekurencja, czyli odwołanie się funkcji do samej siebie. Jak tablica może być tablicą o bardzo wielu wymiarach, a i tak każda z nich zostanie skonwertowana do obiektu stdClass.

Teraz zrobimy mały test.

listing 2

Na koniec prezentuję klasę sf_array (SpawnFramework) z dodaną przeze mnie metodą statyczną arr2obj.

listing 3

Dodaj komentarz »