0

我有一个数组 $aMethods ,它的 print_r 输出是这样的:

 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 回答