我需要动态地将数据添加到多维数组中。数据来自数据库中的查询。我可以通过“echo”查看所有元素,但是及时添加到多维矢量数据并覆盖只添加最后一条记录。
我的例子如下:
$queryu = "SELECT * FROM usuario ORDER BY id";
$stmtu = $con->prepare($queryu);
$stmtu->execute();
$numu = $stmtu->rowCount();
$j = 0;
$lista;
if ($numu > 0) {
$colunas = 3;
while ($rowu = $stmtu->fetch(PDO :: FETCH_ASSOC)) {
extract($rowu);
$lista['id'] = $id;
$lista['nome'] = $nome;
$j++;
}
}
结果: id - 6 nome - teste
这是最后添加的记录。
感谢!!!
答案 0 :(得分:0)
您现在还没有创建多维数组。您只需更新create two key =>价值对id
和nome
。如果要存储多个数组,则必须创建一个多维数组,这意味着另一个数组中的数组:
$lista = array(); // init your array!
while ($rowu = $stmtu->fetch(PDO :: FETCH_ASSOC)) {
extract($rowu);
$lista[] = array(
'id' => $id,
'nome' => $nome
);
$j++;
}
或者做得更聪明(如果最终数组中的键与列名相同):
$lista = array(); // init your array!
while ($rowu = $stmtu->fetch(PDO :: FETCH_ASSOC)) {
$lista[] = $rowu;
$j++;
}
答案 1 :(得分:0)
修改您的代码,如下所示
$queryu = "SELECT * FROM usuario ORDER BY id";
$stmtu = $con->prepare($queryu);
$stmtu->execute();
$numu = $stmtu->rowCount();
$lista = array();
if ($numu > 0) {
$colunas = 3;
while ($rowu = $stmtu->fetch(PDO :: FETCH_ASSOC)) {
extract($rowu);
$lista[] = array('id' => $id, 'nome' => $nome);
}
}
正如您可能已经注意到的那样,我已经删除了j
索引(您不需要它;我想您会将其用作"一级索引&#34 ;您的多维数组)并添加了该语句:$lista[] =
。 "魔术"发生在那里:使用此命令($arrayname[] =
),您可以向现有数组追加一个新元素。
但是,我不知道您从哪里获得$id
和$nome
因此,由于未定义的变量和类似内容,此代码段可能会失败