2014-01-14 2 views
-1

Попытка построить многомерный массив с Еогеасп, используя запись из БД ...PHP многомерный массив с Еогеасп

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

Предполагая, что вы выполнили и заселена ассоциативный массив:

// 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' часть поступает из вашей выборки, так что вы, возможно, придется изменить это, чтобы сделать его динамическим (если это фактически динамично).

Вы также можете создать такую ​​структуру массива непосредственно при извлечении результатов из БД:

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'] 
     ); 
    } 
Смежные вопросы