PHP多维数组细分

时间:2011-10-20 06:46:34

标签: php

我试图获取这个多维数组中的数据。

Array ( [return] => Array ( 
 [0] => stdClass Object ( 
  [array] => Array ( 
   [0] => ADMIN 
   [1] => http://www.adminpage.co.za/ ) ) ...

但是当我尝试

$result = $array->return;
print_r($result);

我得到了

Notice: Trying to get property of non-object in ... on line 10

如果我尝试将其称为数组:

$result = $array[0];
print_r($result);

我得到了

 Undefined offset: 0 in ... on line 10

3 个答案:

答案 0 :(得分:3)

->是对象的运算符,而不是数组。在数组上使用[]。例如:

  1. $array['return']将为您提供第0个元素的数组 stdClass
  2. $array['return'][0]会为您提供对象
  3. $array['return'][0]->array将为您提供第0个元素为“ADMIN”
  4. 的数组

答案 1 :(得分:2)

此通知绝对公平。 php中的数组不是对象。您应该将它们作为经典C数组访问:

echo($myarr[2][3]);

答案 2 :(得分:0)

所以从给定的答案中试试:

print_r($array['return']);

关于你的编辑:

你试图在$ array中得到偏移0,但是没有偏移0。 你想要的偏移是'返回'

$myarr = array( 'value1', 'value2' )

echo $myarr[0]
// 'value1'

echo $myarr[1]
// 'value2'

或:

$myarr = array( 'key1' => 'value1', 'key2' => 'value2' )

echo $myarr[0]
// Undefined offset: 0 in

echo $myarr['key1']
// 'value1'

echo $myarr['key2']
// 'value2'

请阅读php.net上的array manual