如何用php创建一个多维数组

时间:2012-10-16 09:38:47

标签: php multidimensional-array

我想创建这个数组

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']); 但我无法弄清楚如何获取数组中的所有信息

3 个答案:

答案 0 :(得分:2)

这比你想象的要容易得多。 $inhoudRaceUitslag是一个(关联)数组,由mysql_fetch_array返回。您只需将其关联地添加到$raceUitslagArray,就像这样:

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

这样您就可以将$inhoudRaceUitslag['rijderId']用作,将整个返回的行(存储在$inhoudRaceUitslag中)用作

答案 1 :(得分: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;

答案 2 :(得分:-1)

以下一行

while( $results[@$i++] = mysql_fetch_array( $result ) ) {}

...会将整个数据库结果存储为名为$results的二维数组。

来源:http://php.net/manual/en/function.mysql-fetch-array.php#110315