最初,这个简单的数组和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和Port列格式化为ip:port (中间有冒号),然后让foreach语句识别每一个,这样它就可以用其他脚本处理它们,就像它如何处理数组一样。(我也尝试过在foreach中使用sprintf,但这破坏了页面。)
发布于 2012-12-27 08:52:24
是否要从数据库查询构建$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 Functions (PDO_MYSQL)
发布于 2012-12-27 08:52:06
下面是如何让查询以正确的格式返回:
SELECT IF(`PORT` IS NULL, `IP`, CONCAT(`IP`,":",`PORT`)) as `Formatted IP`
FROM YOUR_TABLE;https://stackoverflow.com/questions/14047991
复制相似问题