0

print_r の出力が次の配列 $aMethods があります。

 Array
 (
     [0] => Array
         (
             [pattern] => 
             [return_media] => 1
             [return_name] => 
         )

 )

このコードで「return_media」にアクセスしようとしています:

 $iReturnMedia = $aMethods[0]->return_media;
 echo $iReturnMedia;

また、私がこれを試したとき:

 $iReturnMedia = $aMethods[0]['return_media'];

次のエラーが表示されます: 文字列オフセットを配列として使用できません...

しかし、うまくいきません。$iReturnMedia は空白として返されます。誰かが私がここで間違っていることを教えてもらえますか?

編集: $aMethods は foreach ループで次のように設定されます。

 foreach ($aMethodList as $sMethodGroup => $aMethods) { //insert code from above }
4

5 に答える 5

3

以下を使用する必要があります。

$iReturnMedia = $aMethods[0]['return_media'];

この操作->は、オブジェクト プロパティにアクセスするためのものです。ネストされた配列を扱っているだけなので、それらにインデックスを付ける必要があります[]

于 2012-06-10T04:24:48.040 に答える
0

配列値にアクセスするコードの下を見つけます-

foreach ($aMethodList as $sMethodGroup => $aMethods) { 
 echo $aMethods[0]['return_media'];
}
于 2013-01-11T08:18:39.013 に答える
0

キーで配列値にアクセスします。

$iReturnMedia = $aMethods[0]['return_media'];
echo $iReturnMedia;
于 2012-06-10T04:25:13.527 に答える
0

配列内のオブジェクトであるかのようにアクセスするには、次のようにします。

$iReturnMedia = $aMethods[0]['return_media'];
 echo $iReturnMedia;
于 2012-06-10T04:25:19.197 に答える
0

これを試して、

$iReturnMedia = $aMethodList[$sMethodGroup][0]['return_media'];
echo $iReturnMedia;

してみてくださいvar_dump($aMethods)。その配列の正確なアイデアが得られます...

于 2012-06-10T04:52:22.720 に答える