2016-09-19 8 views
0

json配列内をカールで引っ張って検索することはできますか?json配列でパラメータを検索して正しい情報を表示

配列が

Array 
(
[status] => success 
[data] => Array 
    (
     [out] => Array 
      (
       [0] => Array 
        (
         [address] => test address 
         [amount] => 11 
         [type] => 1 
        ) 

       [1] => Array 
        (
         [address] => test address 1 
         [is_nonstandard] => 
         [amount] => 12 
         [type] => 1 

        ) 

      ) 
    ) 

[code] => 200 
[message] => 
) 

のように見え、これが現在の状況として[out] => Arrayで1つのアレイは、彼らは私がしたい2であることがより存在することができるので、私はそう配列

function get_curl_content_tx($url) { 
    $curl = curl_init(); 
    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($curl, CURLOPT_HEADER, false); 
    $result = curl_exec($curl); 
    curl_close($curl); 
    return $result; 
} 
$url=get_curl_content_tx("http://example.com"); 
$total =json_decode($url,true); 

を引く方法です[address]で検索し、一致するとデータを表示します。ここで

答えて

1

はそれを行うための方法です:

foreach($arr['data']['out'] as $d){ 
    if(strpos($d['address'], 'testaddress') !== false){ 
     //do something 
     var_dump($d); 
    } 
} 

あなたがやりたいものは何でもによってのvar_dumpを交換する必要があります。 この例のためにstrposを使用しましたが、ニーズに合ったカスタムメソッドを使用したい場合があります。

希望します。

1
<?php 
$outArray = $total['data']['out']; 
foreach($outArray as $item) { 
    // echo $item['address']; 
} 
?> 
1

これを試してみてください:

if(isset($total['data']['out'])){ 
     foreach($total['data']['out'] as $out){ 
      if(isset($out['address'])){ 
       if($out['address'] == "your adress"){ 
        //Your Stuff; 
       } 
      } 
     } 
    } 
関連する問題