2014-01-14 237 views
-1

试图建立与使用记录从数据库在foreach多维数组...PHP多维数组用foreach

enter image description here

$servDetails = array(
    // CSS Servers 
    'css' => array(
     'server1' => array(
      'id' => 'id1', 
      'type' => 'css', 
      'host' => 'ip:port' 
     ), 
     'server2' => array(
      'id' => 'id2', 
      'type' => 'css', 
      'host' => 'ip:port' 
     ) 
    ) 
); 

什么是这样做的最佳方式?

+3

使用循环。这非常简单。 –

回答

1

假设你已经执行,并已填充关联数组:其中'css'部分来自你的样品中

// 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'] 
    ); 
} 

我不知道,所以你可能需要调整这使它的动态(如它实际上是动态的)。

你也可以直接从数据库拉动的结果时建立这个阵列结构:

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'] 
     ); 
    }