2014-10-01 37 views
0

如何從後面的mysql查詢直接得到多維數組?如何直接從使用php的mysql查詢創建多維數組?

$query = SELECT * FROM table WHERE field1 = 1; 

我已經試過如下:

$result = mysqli_query($connection, $query); 

while ($row = mysqli_fetch_array($result)){ 
    $table[] = ($row['field1'].'~'.$row['field2'].'~'.$row['field3'].'~'.$row['field4']); 
} 

如果我們打印出來,我們有以下結果:

array(
    [0] => 1 ~ ALFA ~ beta ~ 57 
    [1] => 1 ~ BETA ~ gamma ~ 18 
    [2] => 1 ~ GAMMA ~ delta ~ 24 
    ... 
    [999] => 1 ~ ZETA ~ theta ~ 19 
) 

然後我有爆發,有多維數組我希望:

foreach ($table as $value) { 
    $tableWithSubArrays[] = explode("~", $value); 
} 

An d然後我們得到它:

Array(
    [0] => Array 
     (
      [0] => 1 
      [1] => ALFA 
      [2] => beta 
      [3] => 57 
    ) 

    [1] => Array 
     (
      [0] => 1 
      [1] => BETA 
      [2] => gamma 
      [3] => 18 
    ) 

    ... 

    [999] => Array 
     (
      [0] => 1 
      [1] => ZETA 
      [2] => theta 
      [3] => 19 
    ) 

是否有任何其他方式,使它直接從查詢到多維數組?

非常感謝提前!

回答

1
while ($row = mysqli_fetch_array($result)){ 
    $table[] = $row; 
} 
+0

哇!這是緊湊的! :)謝謝你,@Cheery !!! 如果我想只有一些值,讓我們說關鍵[1]和關鍵[3],那麼呢? – 2014-10-01 03:28:20

+0

@AloysiadeArgenteuil不知道你在問什麼。不想放置所有列 - 不要從數據庫請求它們。 'SELECT field2,field4 FROM table WHERE field1 = 1;' – Cheery 2014-10-01 03:32:45

+0

是的,你說得對,@Cheery,我不清楚...... ;-) 我仍然想從數據庫中選擇一切,但數組應該僅具有某些字段... 陣列( [0] =>數組( [0] => ALFA [1] => 57 ) [1] =>數組( [0] => BETA [1] => 18 ) 等) – 2014-10-01 03:39:06