2017-06-03 11 views
-1

このphpファイルに問題があります。ニックネームやアドレスが表示される値の場合、Arrayというエラーが表示されます。 PHP変数に関するすべてのユーザー情報を返すことができるようにしたい。'Array' from php file

<?php 
    $str = '{ 
    "users": [ 
     { 
      "steamid": "[X:X:XXXXXXXXX]", 
      "teamspeakid": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 
      "nicknames": [ 
       "XXXXXXXXX" 
      ], 
      "addresses": [ 
       "XX.XX.XXX.XX" 
      ] 
     }, 
     { 
      "steamid": "[Y:Y:YYYYYYYYY]", 
      "teamspeakid": "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY", 
      "nicknames": [ 
       "YYYYYYYYY" 
      ], 
      "addresses": [ 
       "YY.YY.YYY.YY" 
      ] 
     }, 
     { 
      "steamid": "[Z:Z:ZZZZZZZZZ]", 
      "teamspeakid": "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ", 
      "nicknames": [ 
       "ZZZZZZZZZ" 
      ], 
      "addresses": [ 
       "ZZ.ZZ.ZZZ.ZZ" 
      ] 
     } 

    ] 
}'; 

$json = json_decode($str); 
foreach($json->users as $item) 
{ 
    if($item->steamid == "[X:X:XXXXXXXXX]") 
    { 
     echo $item->addresses; 
    } 
} 

?> 
+2

これは、おそらく 'users [i] .addresses'が配列であるためです。 '$ item-> addresses [0]'を試してみるか、 '$ item-> addresses'をループして各値を表示してください。 – CollinD

+1

[PHPエラーを通知する方法:[配列を文字列に変換する]](https://stackoverflow.com/questions/20017409/how-to-solve-php-error-notice-array- to-string-in-string-in)、特に3番目の答えには、あなたを連れて行くべき一連の例があります。 –

答えて

0

addressesつの項目によってarrayです。 編集者:

foreach($json->users as $key=>$item) 
{ 
    if($item->steamid == "[X:X:XXXXXXXXX]") 
    { 
     echo $item->addresses[0]; 
    } 
}