2017-07-24 57 views
-1

我想在我的網站上創建一個頁面,列出我的Minecraft服務器上的禁令。
我得到通過FTP文件(不要告訴我,這是一個安全問題)
斯普利特Minecraft玩家禁止文件(禁止玩家,json)每次發現禁令

這裏是我的代碼:

$banfile = file_get_contents("ftp://**********262%40gmail.com.*****:**********@***.***.*.***:21/banned-players.json"); 
$banarray = json_decode($banfile, true); 
echo print_r($banarray, true);` 

,但我發現球員出來的陣列。我可以得到一個特定的數字禁止出來的文件,但是當一個新的被添加我不能得到這一個,因爲腳本不知道它存在

這是output。 (倒入以代碼的數組,敏感信息被藏放在引擎收錄,所以我不垃圾郵件的問題。)

我想將它們放在一個表格式:

頭:
播放器 | 原因 | 禁止作者 | 到期時間

行:
ExamplePlayer |原因|管理員|從來沒有

隨着當前的代碼,這是有點做,能夠從陣列得到它,並呼應它:

行:

$banarray[0][name] | $banarray[0][reason] | $banarray[0][source] | $banarray[0][expires] 

此代碼的工作,但我會更新這個頁面手動相當頻繁。我知道有一個PHP函數foreach (array_expression as $value),但我不知道如何使用它。我相信,因爲我想要做foreach()是必要的。

+0

請附上您的編碼嘗試將數組顯示爲表格。通過實現'foreach()'循環,你不需要「手動更新頁面」。 – mickmackusa

+0

PHPglue我對數組有所瞭解,否則我是如何將JSON轉換爲數組並從數組中獲取值的? '$ banarrav [0] [名]'?和mickmackusa我沒有試圖做表,因爲我沒有意識到如何使用foreach funcion .. –

+0

[通過二維數組循環](https://stackoverflow.com/questions/26591105/loop-through -a-二維陣列) – mickmackusa

回答

1
foreach ($banarray as $v) { 
    echo $v['name'], ' | ', $v['reason'],' | ', $v['source'], ' | ', $v['expires'], "\n"; 
} 

所以在$ V是可以ommit當前元素[0],[1],...

0

只要你可以使用循環訪問數組中的元素。

foreach ($banarray as $value) { 
    echo 'source => ' . $value['source'] . '<br>'; 
    echo 'reason => ' . $value['reason'] . '<br>'; 
} 
0

這就像:

<?php 
$rows = ''; 
foreach($banarray as $a){ 
    $rows .= "<tr><td>{$a['uuid']}</td><td>{$a['name']}</td>" 
    ."<td>{$a['created']}</td><td>{$a['source']}</td>" 
    ."<td>{$a['expires']}</td><td>{$a['reason']}</td></tr>"; 
} 
$table = "<table id='tbl'><thead><tr><th>uuid</th><th>name</th>" 
    .'<th>created</th><th>source</th><th>expires</th><th>reason</th></tr>' 
    ."<thead><tbody>$rows</tbody></table>"; 
echo $table; 
?>