我正在尝试创建一个类似于
的数组array(
[Matt => 3],
[Tom => 7]),
//etc
)
我想要这个设置,所以我可以将它与mysql_fetch_assoc()一起使用,例如
$i=0;
while($data = mysql_fetch_assoc($query)){
$Array[$i] = $data['name']; // sore name as part of array
$Array[$i][0] = ($data['number']; // keep number with the name.
$i++;
}
这不起作用。我无法使用array_push这样做。有人可以指导我吗?我的阵列声明是错误的还是重要的?
答案 0 :(得分:2)
while($data = mysql_fetch_assoc($query)){
$Array[$data['name']] = $data['number']; // keep number with the name.
}
假设没有重复的名字 - 这可能不是意图,我误读了你的问题......
替代地
while($data = mysql_fetch_assoc($query)){
$Array[] = array($data['name'] => $data['number']); // keep number with the name.
}
后者是你可以用pdo fetchAll(PDO :: FETCH_ASSOC)做的事情; see here
答案 1 :(得分:0)
我不能确切地说出你想要什么,但这有帮助吗?
$array = array();
while ($data = mysql_fetch_assoc($query)) {
$array[$data['name']] = $data['number'];
}
这将产生如下(print_r
样式)
Array
(
[Matt] => 3,
[Tom] => 7
)