1

もともと、この単純な配列と foreach ステートメントは完璧に機能しますが、php 配列からデータベースから情報を取得するように変更する必要があります。

$serversArray = array(
    "domainname1.com",
    "domainname2.com:port",
    "domainname3.org",
    "000.000.000.000:port");

foreach($serversArray as $server)

.

ID    IP                Port
1     domainname1.com   
2     domainname2.com   12345
3     domainname3.org   
4     000.000.000.000   54321

私が理解する必要があるのは、IP とポートの列を ip:port にフォーマットして (間にコロンを付けて) 取得し、foreach ステートメントにそれぞれを認識させて、他のスクリプトで処理できるようにする方法です。それはすでに配列で動作します。(foreach で sprintf も使用してみましたが、ページが壊れました。)

4

2 に答える 2

2

クエリを正しい形式で返す方法は次のとおりです。

SELECT IF(`PORT` IS NULL, `IP`, CONCAT(`IP`,":",`PORT`)) as `Formatted IP`
FROM YOUR_TABLE;
于 2012-12-27T00:52:06.413 に答える
1

DB クエリから $serversArray を構築しますか?

$serversArray = array();
$sql     = "SELECT ip, port FROM my_table";
$result = mysql_query($sql);
while ($row  = mysql_fetch_array($result))
{
    // if have port include it after : otherwise just include ip
    $serversArray[] = $row['port'] ? "{$row['ip']}:{$row['port']}" : $row['ip'];
}


昔ながらの sql クエリは、配列を構築する手順を示すためのものです。現時点では、MySQL 関数 (PDO_MYSQL)を使用する必要があります。

于 2012-12-27T00:52:23.580 に答える