尝试使用来自db ...
的记录使用foreach构建多维数组
$servDetails = array(
// CSS Servers
'css' => array(
'server1' => array(
'id' => 'id1',
'type' => 'css',
'host' => 'ip:port'
),
'server2' => array(
'id' => 'id2',
'type' => 'css',
'host' => 'ip:port'
)
)
);
这样做的最佳方式是什么?
答案 0 :(得分:1)
假设您已经执行并填充了一个关联数组:
// create your containing array
$servDetails = array('css' => array());
// iterate over the results
foreach ($results as $result) {
$servDetails['css'][$result['server_name']] = array(
'id' => $result['server_id'],
'type' => 'css',
'host' => $result['server_ip'] . ':' . $result['server_port']
);
}
我不确定样本中'css'
部分的来源,因此您可能需要对其进行调整以使其动态化(如果它实际上是动态的)。
当从db:
中提取结果时,您也可以直接构建此数组结构if ($results = $mysqli->query($query)) {
while ($result = $results->fetch_assoc()) {
$servDetails['css'][$result['server_name']] = array(
'id' => $result['server_id'],
'type' => 'css',
'host' => $result['server_ip'] . ':' . $result['server_port']
);
}