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).
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.
Na koniec prezentuję klasę sf_array (SpawnFramework) z dodaną przeze mnie metodą statyczną arr2obj.