Alternatif olarak, PHP'nin json_encode ve json_decode gibi kodlama işlevlerinin gücünden yararlanabilirsiniz.

Bu eğitimde, bir diziyi tam olarak çalışan bir nesneye dönüştürmenin alternatif yöntemlerinden ikisi gösterilecektir.

Yöntem 1: Tür (nesne) ile Döküm

İlk yöntemde, diziye bir çekiçle sanal olarak vuruyoruz ve tipik bir dönüşümü zorladık. Öncelikle bir diziye ihtiyacımız olacak, önce ilişkisel bir veri dizisi tanımlayalım.

Dizi

$myArray = ["usersOnline" => 76, "registeredUsersOnline" => 21, "website" => "yazilim.net"];

Daha sonra, StdClass'a dönüştürmek için kafadaki değişkene sanal bir nesne çekiciyle vuruyoruz.

PHP Dönüşümü

$myStdClass = (object) $myArray;

var_dump($myStdClass);

Çıktı

object(stdClass)#1 (3) { ["usersOnline"]=> int(76) ["registeredUsersOnline"]=> int(21) ["website"]=> string(8) "yazilim.net" }

Bu dönüştürme, nesneye nesne yönelimli stil sözdizimi ile erişmemizi sağlar, örneğin -

echo $myStdClass->usersOnline; // outputs 76

Yöntem 2: Kodlama işlevlerini kullanarak dönüştürme

İkinci ve alternatif yöntemde, PHP'nin sahip olduğu JSON kodlama işlevlerini kullanacağız. Yine aynı basit diziyi kullanarak -

Dizi

$myArray = ["usersOnline" => 76, "registeredUsersOnline" => 21, "website" => "yazilim.net"];

Dizi ile önce json_encode ile bir JSON dizgesine ayrıştırıyoruz ve son olarak json_decode işlevi ile dizeyi çözüyoruz.

PHP Dönüşümü

$myStdClass = json_decode(json_encode($myArray));

var_dump($myStdClass);

Çıktı

object(stdClass)#1 (3) { ["usersOnline"]=> int(76) ["registeredUsersOnline"]=> int(21) ["website"]=> string(8) "yazilim.net" }

Ve yine, değerlere ilgili anahtarları aracılığıyla erişmek için nesne stili sözdizimini kullanabiliriz.

echo $myStdClass->website; // outputs codewall

Ve işte bu, bir diziyi tam olarak çalıştırılabilir bir StdClass nesnesine dönüştürmek için iki süper yol.