2012-10-16 40 views
0

一個多維數組我想創建這個數組如何創建用PHP

Array (
    [1] => Array (
     [qual] => 1 
     [race] => 3 
     [finish] => 1 
    ) 
    [2] => Array (
     [qual] => 2 
     [race] => 1 
     [finish] => 1 
) 

數[1]和[2]是駕駛員ID。這是我從DB

$raceUitslagArray = array(); 
$sqlRaceUitslag = mysql_query("SELECT uitslag.rijderId AS rijderId, combinatie.Chassis  AS chassis, combinatie.Motor AS motor, uitslag.qual AS qual, uitslag.race AS race, uitslag.finish AS finish 
       FROM uitslag, combinatie 
        WHERE combinatie.Rijder = uitslag.rijderId && uitslag.raceId = '".$_POST['raceId']."'"); 
while($inhoudRaceUitslag = mysql_fetch_array($sqlRaceUitslag)) { 
獲取數據

我需要在陣列中的數據是

$inhoudRaceUitslag['qual'] 
$inhoudRaceUitslag['race'] 
$inhoudRaceUitslag['finish'] 
$inhoudRaceUitslag['rijderId'] 

我想我應該用array_push($ raceUitslagArray,$ inhoudRaceUitslag [ 'rijderId'] );但我無法弄清楚如何獲得陣列中的所有信息

回答

2

這比您想象的要容易得多。 $inhoudRaceUitslag是一個(關聯)數組,由mysql_fetch_array返回。你可以簡單地關聯方式將其添加到$raceUitslagArray,就像這樣:

while($inhoudRaceUitslag = mysql_fetch_array($sqlRaceUitslag)) { 
    $raceUitslagArray[$inhoudRaceUitslag['rijderId']] = $inhoudRaceUitslag; 
} 

這樣你使用$inhoudRaceUitslag['rijderId']作爲關鍵,整個返回的行(存儲在$inhoudRaceUitslag)作爲

+0

的感謝!這就是我需要的! –

0

試試這個:

$raceUitslagArray = array(); 
$sqlRaceUitslag = mysql_query("SELECT uitslag.rijderId AS rijderId, combinatie.Chassis AS chassis, combinatie.Motor AS motor, uitslag.qual AS qual, uitslag.race AS race, uitslag.finish AS finish FROM uitslag, combinatie WHERE combinatie.Rijder = itslag.rijderId && uitslag.raceId = '".$_POST['raceId']."'"); 
$result = array(); 
$i = 1; 
while($inhoudRaceUitslag = mysql_fetch_array($sqlRaceUitslag, MYSQL_ASSOC)) { 
$result[$i++] = $inhoudRaceUitslag; 
+0

這與feeela的答案有相同的問題 - 數組的鍵是迭代而不是聯想地定義的。 – Joost

+0

對不起,我的錯。我沒有足夠的閱讀/理解你的問題 – MartinF