最高の「バイト」値を持つオブジェクトから「名前」値を取得しようとしています。私のコードは、これまでのところです:このJSONファイルからPHP検索特定の値のJSONからの多次元配列
<?php
$str = file_get_contents('https://yivesmirror.com/api/spigot');
$json = json_decode($str, true);
echo get_highest($json);
function get_highest($json)
{
foreach($json as $key => $val)
{
if (is_array($val)) $json[$key] = get_highest($val);
}
sort($json);
return array_pop($json);
}
?>
:
{
"spigot-1.12-R0.1-SNAPSHOT-b1364.jar": {
"name": "spigot-1.12-R0.1-SNAPSHOT-b1364.jar",
"size": {
"human": "40.52MB",
"bytes": 42488067
},
"date": {
"human": "July 25, 2017",
"epoch": 1501040531
}
}
},
{
"spigot-api-1.12-R0.1-SNAPSHOT-shaded-b1364.jar": {
"name": "spigot-api-1.12-R0.1-SNAPSHOT-shaded-b1364.jar",
"size": {
"human": "4.10MB",
"bytes": 4297941
},
"date": {
"human": "July 25, 2017",
"epoch": 1501040531
}
}
}
は、残念ながら、これはすべてのキーを検索し、私に「エポック」値ではない「バイト」値を与えています。 どうすればいいですか:
- 'bytes'オブジェクトの中で最も高い値を見つけることができますか?
- (上記のように)最大の「バイト」値を見つけた場所から「名前」値を取得しますか?
オブジェクトを取得できるようにjson_decode()から "true"を削除します。その後、OOP表記を使うことができます! –
あなたの質問は保留になっているので、どのように答えを出すのかは分かりませんが、テストでは、 "spigot-latest.jar"という要素があります。さもなければ、このURLは私が情報を得るために何をしたかを示します。出力の最後にソースが表示されます。 https://iconoun.com/demo/temp_snl.php –
ありがとうRay!それはまさに私が後にしたものであり、各機能についてのコメントをありがとう! – SuperNovaLite