1

わかった。今、私はあきらめます。私はこれで何時間も遊んでいます。

  • 変数名があります$data
  • 変数には次の内容が含まれます: (を使用して抽出var_export())

    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',
        )),
      ),
    )
    

    重要でないデータを削除しました。

  • ヘッダー値にアクセスしたい(上の2行目)-簡単:$data->headers
  • ヘッダーの値にアクセスしたい (stdClass::スタッフの後の 14 行目) - どのように?

stdClass::__set_stateセクション内の値にアクセスするにはどうすればよいですか?

試してみvar_export($data->parts);ましたが、得られるのは

ヌル

4

2 に答える 2

3

この変数は、投稿した方法で宣言されていますか? お気に入り:

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

'headers'その場合、経由でアクセスする方法がよくわかりません$data->headers$data['headers']オブジェクトではなく配列であるため、 である必要があります。

さらに下に、クラスstdClass::__set_state(array('headers' => …)) のメソッドを静的に呼び出します 。このメソッドが何をするのかはわかりませんが、その戻り値だけがキーに割り当てられます。__set_statestdClass'parts' => array(0 => ...)

あなたが示しているOTOHが の結果である場合var_dump($data)、これは間違ったナンセンスです。あなたのコードまたはあなたが投稿したもののいずれかで何か怪しいものがあり、それをもっと見ずに言うのは難しい.stdClass::__set_state()var_dump

上記を無視して、var_exportこのファンキーな方法でクラスを出力します。

$data['headers']最初のヘッダー部分でそれを行う必要があります。さらに下に$data['parts'][0]->headers、トリックを行う必要があります。

于 2010-04-17T03:14:37.777 に答える