繁体   English   中英

无法将字符串偏移量用作数组

[英]Cannot use string offset as an array in

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

您需要使用:

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

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

通过键访问数组值。

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

您像访问数组中的对象一样对其进行访问,您可以像执行以下操作:

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

尝试这个,

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

尝试var_dump($aMethods) 它将给出该数组的确切想法...

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM