php dizeye nesneyi dönüştürmek için nasıl [yinelenen]

5 Cevap

Related:
PHP ToString() equivalent

PHP dizeye bir nesneyi dönüştürmek nasıl?

Ben web servis API'leri ile uğraşıyorum. Ben başka bir girdi olarak tek bir API çıkışını kullanmak istiyorum.

Bunu ne zaman hata alıyorum:

Catchable fatal error: Object of class std could not be converted to string in C:\...

Bu ilk API çıktı:

stdClass Object ( [document_number] => 10ba60 )

Ben sadece bu sayı ikinci API için girdi olarak kullanmak istiyorum.

Ne print_r() veya _string() Bu durumda çalışıyoruz.

5 Cevap

Size nesne sınıfında bir __toString() yöntemini uygulayarak bir dize olarak temsil edilir nasıl terzi, böylece nesne olduğunda type cast as a string (açık tip dökme $str = (string) $myObject; veya echo $myObject) sen ne dahil kontrol ve dize biçimi olabilir otomatik.

Yalnızca nesnenin verileri görüntülemek isterseniz, yukarıdaki yöntem işe. Eğer bir oturum veya veritabanındaki nesne saklamak istiyorsanız, size serialize bu gerek, bu yüzden PHP sizin örneğini yeniden bilir.

Farkı göstermek için bazı kod:

class MyObject {

    protected $name = 'JJ';

    public function __toString() {
            return "My name is: {$this->name}\n";
    }

}

$obj = new MyObject;

echo $obj;
echo serialize($obj);

Çıktı:

Benim adı: JJ

O: 8: "MyObject": 1: {s: 7: "* adı"; s: 2: "JJ";}

Döküm operatörünü kullanın (string)$yourObject;

Eğer herhangi bir nesneyi serialize serialize fonksiyonu ile bir object serialization modül vardır.

Eğer print_r işlevi var DOC

Senin durumunda, sadece kullanmalısınız

$firstapiOutput->document_number

İkinci API için girdi olarak.