PHP, bu verilerin üyeleri erişmek nasıl?

1 Cevap php

Tamam. Şimdi vazgeçtim. Saatlerce bu ile oynarken edilmiştir.

  • Ben bir değişken adı var $data.
  • Değişken bu içerikleri içerir: (var_export() ile ekstre)

    array (
      'headers' =>
      array (
        'content-type' => 'multipart/alternative; boundary="_689e1a7d-7a0a-442a-bd6c-a1fb1dc2993e_"',
      ),
      'ctype_parameters' => 
      array (
        'boundary' => '_689e1a7d-7a0a-442a-bd6c-a1fb1dc2993e_',
      ),
      'parts' => 
      array (
        0 => 
        stdClass::__set_state(array(
          'headers' => 
          array (
            'content-type' => 'text/plain; charset="iso-8859-1"',
            'content-transfer-encoding' => 'quoted-printable',
          ),
          'ctype_primary' => 'text',
        )),
      ),
    )
    

    I removed some non-essential data.

  • Ben (yukarıda ikinci satırda) başlıkları değere erişmek istiyorum - basit: $data->headers
  • Ben (stdClass:: şeyler sonra on dördüncü satırında) başlıkları değere erişmek istiyor - nasıl?

Nasıl muhtemelen stdClass::__set_state bölümünde değerlere erişebilir?

Ben denedim var_export($data->parts); ama olsun hepsi

NULL

1 Cevap

Bu değişken bunu gönderdi declared yolu? Gibi:

$data = array(
          'headers' =>
             array (
             …

Bu durumda, ben size $data->headers aracılığı 'headers' erişebilirsiniz oldukça nasıl emin değilim. Bu bir dizi, bir nesne olduğu için, $data['headers'] olmalıdır.

Further down, stdClass::__set_state(array('headers' => …)) statically calls the method __set_state sınıfının stdClass. Bu yöntem, ne yaparsa yapsın ben bilmiyorum, ama sadece dönüş değeri 'parts' => array(0 => ...) anahtarına atanacak.

stdClass::__set_state() bir var_dump sırıtmak asla beri If OTOH what you're showing is the result of var_dump($data), o zaman bu, yanlış saçmalıktır. Bir şey kodunuzu veya ne yayınlanmıştır ya balık olduğunu ve bunun daha görmeden söylemek zor.

Yukarıda, var_export baskılar derslere bu korkak Kayıtsizlığı.

$data['headers'] ilk başlıkları bölümü için bunu yapmalıyız. Daha aşağı, $data['parts'][0]->headers hile yapmak gerekir.