2014-01-14 139 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'] 
     ); 
    }