在json数组中搜索参数并显示正确的信息


Searching in json array for parameter and show correct information

是否可以在json数组中搜索,我用curl和if匹配只显示该数据?

数组看起来像

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] => 
)

这就是我拉数组

的方法
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);

因此,由于[out] => Array中可以有超过1个数组,因此它们是两个,我想通过[address]搜索和匹配,当匹配时给出数据。

方法如下:

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

您需要用您想做的任何事情替换var_dump。为了这个例子,我使用了strpos,但是您可能希望使用更适合您需要的自定义方法

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

试试这个:

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