Есть такой массив:
Array
(
[status] => 1
[message] => OK
[result] => Array
(
[0] => Array
(
[blockNumber] => 6604980
[timeStamp] => 1540812005
[hash] => 0x84efa9561e7798f0dcb40bd5161b78d478c4e42fe63f655f0a95843b9434201e
[nonce] => 46
[blockHash] => 0xc68ddacfca6c993e792322036f0d29db04e5a2dd28d5da725254748de1b9d82a
[from] => 0x83fa77ca33c0e9bad8df878ed585a53c9166dda4
[to] => 0xca47c4de3dd482bbb493ab0e6112a3fb9ac22292
[contractAddress] => 0xd69834f67b2f5a760617cc9a9bf5ae3a3bb256c2
[value] => 2198710000000000000000
[tokenName] =>
[tokenSymbol] =>
[tokenDecimal] =>
[transactionIndex] => 34
[gas] => 54322
[gasPrice] => 10000000000
[gasUsed] => 36663
[cumulativeGasUsed] => 2109857
[input] => 0xa9059cbb000000000000000000000000ca47c4de3dd482bbb493ab0e6112a3fb9ac22292000000000000000000000000000000000000000000000077313b17bc331f0000
[confirmations] => 8814
)
[1] => Array
(
[blockNumber] => 6605055
[timeStamp] => 1540813043
[hash] => 0x2f0dd3d985745a48a06dad921a19b60a925b32e891ab1373dd8e0c04407f8333
[nonce] => 47
[blockHash] => 0xfc8a3ed90b636537d04a35527a94dbc4c9e56ca2322a6cd4f837aecb10737a91
[from] => 0x83fa77ca33c0e9bad8df878ed585a53c9166dda4
[to] => 0xca47c4de3dd482bbb493ab0e6112a3fb9ac22292
[contractAddress] => 0x2536145fbdf298877f8b8ec4c26cc6bc07032dba
[value] => 25900000000000000000000
[tokenName] => Veritium
[tokenSymbol] => VRTM
[tokenDecimal] => 18
[transactionIndex] => 34
[gas] => 100000
[gasPrice] => 5000000000
[gasUsed] => 36745
[cumulativeGasUsed] => 2877378
[input] => 0xa9059cbb000000000000000000000000ca47c4de3dd482bbb493ab0e6112a3fb9ac2229200000000000000000000000000000000000000000000057c0ab447eb39300000
[confirmations] => 8739
)
)
)
Как можно получить в итоге пары значений contractAddress - value, только адрес контракта определенный, допустим 0x2536145fbdf298877f8b8ec4c26cc6bc07032dba Не знаю как добавить условие в цикл на адрес определнного контракта
function get_course() {
$data = file_get_contents("http://api.etherscan.io/api?module=account&action=tokentx&address=0xca47c4de3dd482bbb493ab0e6112a3fb9ac22292&startblock=0&endblock=999999999&sort=asc&apikey=XSEG5ZTQQDXWQWG32TWMQ27NTFDFA8R9N9");
$data = json_decode($data, true);
foreach ($data["result"] as $key => $value) {
echo $value['value'],"\n";
}
}
Первый вариант:
$data = file_get_contents("http://api.etherscan.io/api?module=account&action=tokentx&address=0xca47c4de3dd482bbb493ab0e6112a3fb9ac22292&startblock=0&endblock=999999999&sort=asc&apikey=XSEG5ZTQQDXWQWG32TWMQ27NTFDFA8R9N9");
$data = json_decode($data, true);
$data = $data['result'];
foreach ($data as $value) {
if ('0x2536145fbdf298877f8b8ec4c26cc6bc07032dba' === $value['contractAddress']) {
echo $value['value']; //25900000000000000000000
}
}
Второй вариант:
$data = file_get_contents("http://api.etherscan.io/api?module=account&action=tokentx&address=0xca47c4de3dd482bbb493ab0e6112a3fb9ac22292&startblock=0&endblock=999999999&sort=asc&apikey=XSEG5ZTQQDXWQWG32TWMQ27NTFDFA8R9N9");
$data = json_decode($data, true);
$data = $data['result'];
$data = array_filter($data, function($value) {
return'0x2536145fbdf298877f8b8ec4c26cc6bc07032dba' === $value['contractAddress'];
});
$data = current($data);
echo $data['value']; //25900000000000000000000
Можно еще вариантов насобирать, 1 вариант самый быстрый.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Нужно использовать генератор случайных чисел который при заданном начальном условии генерировал одно и тоже число