2017-06-28 9 views
1

こんにちは皆チェックJSON配列値PHPで終了するか

- 私は私がチェックする必要があるプロジェクトを作成する場合であれば、PHPの変数に定義されている「はX」値、


{ 
"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 配列をsteamid内...ここ

は、JSONの構造がどのように見えるかの例で設立されていませんか

私は私の心に持っているPHP関数構造は次のようになります。


if (x value is founded on json->users steamid array) { 

    $verified = 1; 
    $teamspeakid = the founded steamid->teamspeakid; 
    $nicknames = the founded steamid->nicknames; 
    $addresses = the founded steamid->addresses; 

} elseif (steamid value is not founded on json array) { 

    $verified = 0; 

} 

私はあなたがJSON配列を解読する必要が

+1

steamidは配列として見えません。文字列内の部分文字列を検索したいですか? – Robert

+0

@Robertはい:-) – Alex

+0

foreach + strpos()またはpreg_match :) – Robert

答えて

1

:-)私を助けることを願って文字列の有無を確認するにはstrposを使用してください。

$jsonarr='{ 
"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" 
     ] 
    } 

]}'; 

$arr=json_decode($jsonarr,true); 
$searchstring='X'; 
foreach($arr['users'] as $key=>$value){ 
    if (strpos($value['steamid'], $searchstring) !== false) { 
     $verified = 1; 
    }else{ 
     $verified = 0; 
    } 
} 

または

+0

これを試しましたか? @Alex – lalithkumar

+0

これはうまく動作します:-)ありがとう。 – Alex

+0

私は[Y:Y:YYYYYYYYY]を検索すると何らかの理由で0値を取得します... – Alex

関連する問題