• 0

PHP ile Diziyi StdClass'a Dönüştürmenin İki Yolu

3 hafta önce , Okuma süresi 1 dakika.

Bir diziyi StdClass nesnesine dönüştürmek PHP ile çok basittir. Bir tür dönüştürme yöntemini kullanarak, bir kod satırında hızlı bir şekilde StdClass dönüşümünü gerçekleştirebilirsiniz.
PHP ile Diziyi StdClass'a Dönüştürmenin İki Yolu

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.

 

#php