我如何拉工人的價值,我想要結果“iamdamnsam.L3”。我試過$data->workers[0];了,但沒有用。我json_decode()用來獲取$data
stdClass Object (
[user] => stdClass Object (
[hash_rate] => 5994054
[expected_24h_rewards] => 0.37416681589133
[total_rewards] => 45.048671139143
[paid_rewards] => 45.01
[unpaid_rewards] => 0.038671139142861
[past_24h_rewards] => 0.3643237698601
[total_work] => 57954156777832448
[blocks_found] => 2 )
[workers] => stdClass Object (
[iamdamnsam.L31] => stdClass Object (
[connected] => 1
[hash_rate] => 611723.1
[hash_rate_24h] => 502844.2
[valid_shares] => 59142307840
[stale_shares] => 62652416
[invalid_shares] => 36
[rewards] => 2.9337096738472
[rewards_24h] => 0.03134870470656
[last_share_time] => 1642707957
[reset_time] => 1632875969 )
uj5u.com熱心網友回復:
您可以使用以下命令訪問具有特殊字符的屬性{"name"}:
// example for access to connected property of `iamdamnsam.L3`
$data->user->workers->{"iamdamnsam.L3"}->connected
簡單的例子:
$data = json_decode('{"a":{"b.2":{"c":3}}}');
var_dump($data->a->{"b.2"}->c); // int(3)
# or with a variable:
$k = "b.2";
var_dump($b->a->$k->c); // int(3)
uj5u.com熱心網友回復:
假設有/將會有更多的工人。
然后,您可以通過使用Type Casting即時將 Object 轉換為陣列來回圈所有作業人員的物件。(array)$object
開始回圈$object->user->workers,然后逐個迭代每個作業人員。
請參見下面的示例:
<?php
// Note I have added one more worker "iamdamnsam.L42"
$json = '{"user":{"hash_rate":5994054,"expected_24h_rewards":0.37416681589133,"total_rewards":45.048671139143,"paid_rewards":45.01,"unpaid_rewards":0.038671139142861,"past_24h_rewards":0.3643237698601,"total_work":57954156777832448,"blocks_found":2,"workers":{"iamdamnsam.L31":{"connected":1,"hash_rate":611723.1,"hash_rate_24h":502844.2,"valid_shares":59142307840,"stale_shares":62652416,"invalid_shares":36,"rewards":2.9337096738472,"rewards_24h":0.03134870470656,"last_share_time":1642707957,"reset_time":1632875969},"iamdamnsam.L42":{"connected":1,"hash_rate":321645.1,"hash_rate_24h":987654.2}}}}';
// Get the object from JSON string
$object = json_decode($json);
// Print the actual object from JSON data
print_r($object);
// Get list of 'worker' key names
print_r(array_keys((array)$object->user->workers));
的鍵的輸出workers:
Array
(
[0] => iamdamnsam.L31
[1] => iamdamnsam.L42
)
回圈所有作業人員并訪問他們的屬性:
foreach ((array)$object->user->workers as $key => $values){
echo 'Key name: ' . $key;
echo ', count of values: ' . count((array)$values);
echo ', hash rate full path: ' . $object->user->workers->{$key}->hash_rate;
echo ', hash rate relative path: ' . $values->hash_rate; // same as above
echo PHP_EOL;
}
foreach回圈輸出:
Key name: iamdamnsam.L31, count of values: 10, hash rate full path: 611723.1, hash rate relative path: 611723.1
Key name: iamdamnsam.L42, count of values: 3, hash rate full path: 321645.1, hash rate relative path: 321645.1
現場演示
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/417683.html
標籤:
上一篇:從寬度和高度計算價格
