2012-06-15 94 views
0

我有一個PHP腳本下面的函數,返回和API調用:如何JSON數組轉換爲HTML表

if (in_array((int)$result['code'], array(200, 201))) { 
    $presult=(json_decode($result['body'],true)); 
    print_r($presult); 
} else { 
    print("error parsing result"); 
    var_dump($result); 
} 

$ presult按以下格式顯示的原始數據:

Array 
(
    [contacts] => Array 
     (
      [users] => Array 
       (
        [0] => Array 
         (
          [first_name] => Peter 
          [last_name] => Parker 

我想打印這個數組在列表序列號,名字,最後

+0

嘿,謝謝你編輯我的問題。這是我第一次在這裏問一個問題,但不知道如何格式化它。很多幫助.. – user090

回答

0

我猜數組索引是序列號,所以你可以這樣做:

echo '<table> 
<tr> 
    <th>Serial Number</th> 
    <th>First name</th> 
    <th>Last name</th> 
</tr>'; 

foreach($presult['contacts']['users'] as $number => $user){ 
    echo '<tr> 
      <td>' . $number . '</td> 
      <td>' . $user['first_name'] . '</td> 
      <td>' . $user['last_name'] . '</td> 
     </tr>'; 
} 

echo '</table>'; 

如果需要,請不要忘記轉義HTML輸出。

+0

嗨YMMD,是的,這工作正常。非常感謝你。但還有一個問題,爲什麼它只能運行前10項。共有298個條目。如何實現?此外,像['first_name']一樣,有['photo_urls'],然後是用於指向不同尺寸圖片鏈接的子數組。我可以選擇其中一個網址,但是如何在last_name旁邊的列中打印圖像,就像是mini_thumb一樣。 – user090

+0

大家好,我得到了所有的條目,並且還有照片在桌上。我沒有爲我的API請求中的聯繫人設置限制,默認情況下它會返回10個值。 YMMD,非常感謝。 – user090

+0

1.)你可以用上面看到的相同方式輸出圖像:使用'foreach'循環遍歷整個數組,然後''回顯'你想要的所有圖像。如果你想在表格中顯示它,你應該在這之前打開一個'​​'。 - 2.)上面的代碼不以任何方式限制輸出的數量。它只是遍佈所有的人。你的數組可能不會包含超過10個結果,請檢查。 :-) – YMMD