不能将字符串偏移量用作数组

时间:2012-06-10 04:23:20

标签: php

我有一个数组$ 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 }

5 个答案:

答案 0 :(得分:3)

您需要使用:

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

操作->用于访问对象属性。由于您只是处理嵌套数组,因此需要使用[]索引它们。

答案 1 :(得分:0)

按键访问数组值。

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

答案 2 :(得分:0)

您访问它就好像它是数组中的对象一样,您可以这样做:

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

答案 3 :(得分:0)

试试这个,

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

尝试var_dump($aMethods)。它将准确地给出该阵列的想法...

答案 4 :(得分:0)

在下面找到访问数组值的代码 -

foreach ($aMethodList as $sMethodGroup => $aMethods) { 
 echo $aMethods[0]['return_media'];
}