1

我有一个我想用 PHP 读取的 json 文件

http://rh.ernestek.cz.cc/webeast/static.txt

我想提取“id”和“key”

我想循环遍历 id 和 key,以便生成这样的表:

身份证钥匙
1 9d07d681e0c1e294264724f7726e6f6f29
3 9cd1e3a4a04b5208862c3140046f73b515
...

我尝试使用以下代码提取第一个 id 并键入但没有运气:

    <?php
    $json = file_get_contents('static.txt');
    $json_decoded = json_decode($json);
    echo "ID: ".$json_decoded->static->1->id."<br />";
    echo "Key: ".$json_decoded->static->1->key."<br />";
    ?>

我有什么不对吗?有任何想法吗?谢谢!

4

2 回答 2

1

将 json 解码为数组(true作为第二个参数传递),然后像这样遍历数组

<?php
$json = file_get_contents('static.txt');
$json_decoded = json_decode($json, true);
foreach ($json_decoded['static'] as $item) {
     echo 'ID: ', $item['id'], '<br/>';
     echo 'Key: ', $item['key'], '<br/>';
}
于 2013-03-27T14:14:06.187 回答
0

通过使用trueinjson_decode()它将所有对象转换为数组:

$json = file_get_contents("http://rh.ernestek.cz.cc/webeast/static.txt");
$json_decoded = json_decode($json, true); // return array

$table = array();
foreach($json_decoded["static"] as $array){
    $table[$array["id"]] = $array["key"];
}

//creating the table for output
$output = '<table border="1"><tr><td>ID</td><td>Key</td></tr>';
foreach($table as $id => $key){
    $output .= "<tr><td>$id</td><td>$key</td></tr>";
}
$output .= '</table>';
echo $output;
于 2013-03-27T14:17:34.877 回答