是否有可能在json数组中搜索我使用curl进行搜索,如果匹配则仅显示该数据?
数组看起来像
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]
进行搜索和匹配,并在匹配时提供数据。
答案 0 :(得分:1)
这是一种方法:
foreach($arr['data']['out'] as $d){
if(strpos($d['address'], 'testaddress') !== false){
//do something
var_dump($d);
}
}
你需要用你想做的任何东西来替换var_dump。 我为了这个例子使用了strpos,但你可能想要使用一个更适合你需要的自定义方法
希望这有帮助。
答案 1 :(得分:1)
<?php
$outArray = $total['data']['out'];
foreach($outArray as $item) {
// echo $item['address'];
}
?>
答案 2 :(得分:1)
试试这个:
if(isset($total['data']['out'])){
foreach($total['data']['out'] as $out){
if(isset($out['address'])){
if($out['address'] == "your adress"){
//Your Stuff;
}
}
}
}