2011-10-20 10 views
1

この多次元配列のデータにアクセスしようとしています。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

->は、配列ではなくオブジェクトの演算子です。アレイ上で[]を使用してください。たとえば:

  1. $array['return']は、その0番目の要素 stdClass
  2. $array['return'][0]ある配列はオブジェクト
  3. $array['return'][0]->arrayはあなたにその0番目の要素「ADMIN」
である配列を与えるあなたを与えるだろうあなたを与えるだろう
2

この通知は絶対に公正です。 PHPの配列はオブジェクトではありません。あなたは、古典的なC配列としてそれらにアクセスする必要があります。与えられた答えから

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

そうは試してみてください。

あなたの編集にについて
print_r($array['return']); 

あなたは$配列のオフセット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をお読みください。