在PHP

时间:2016-09-17 18:14:18

标签: php mysql arrays multidimensional-array key-value

您好我的MySQL数据库中有一些记录。我必须填充一个多维关联数组,如下所示:

results{
    "key#1": array
             array 
             array
    "key#2": array
             ...
}

我使用以下代码创建我的数据结构,但我不确切知道如何在关联多维数组中推送数据。

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    $nome_paziente = $row[0];
    $numero_richiesta = $row[1];
    $importo_manuale = $row[2];
    $sconto_totale = $row[3] + $row[4];
    $importo_finale = round(($row[5] - (($row[5] * $sconto_totale)/100)),2);
    $id_centro_operativo = $row[7];
    $descrizione = $row[9];
    $codice_convenzione = $row[10];

    $elements = array(
        'nome_paziente' => $nome_paziente,
        'numero_richiesta' => $numero_richiesta,
        'importo_manuale' => $importo_manuale,
        'importo_finale' => $importo_finale,
        'descrizione' => $descrizione,
        'codice_convenzione' => $codice_convenzione
    );

    $key = $row[8]."#sep#".$row[6]; //nome_studio#data_appuntamento
    $results[$key] = $elements;
}

var_dump($results);

每个键只有一个数组。

1 个答案:

答案 0 :(得分:2)

如果$results[$key]不存在于$results[$key]其他附加$key,那么每次使用make $result作为数组时,您都会覆盖值$elements $results[$key]

$key = $row[8]."#sep#".$row[6]; //nome_studio#data_appuntamento
if (array_key_exists($key,$results)) {
 $results[$key][] = $elements;
}
else{
$results[$key] = array();
$results[$key][] = $elements;
}