如何在PHP和MySQL中操作数组?
我有这样的代码如何在PHP和MySQL中操作数组?,php,mysql,arrays,Php,Mysql,Arrays,我有这样的代码 mysql_connect("localhost", "root", "") or die(mysql_error()); mysql_select_db("joomla") or die(mysql_error()); $result = mysql_query("SELECT id,name FROM jos_samples") or die(mysql_error()); while($row = mysql_fetch_array( $result )) {
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("joomla") or die(mysql_error());
$result = mysql_query("SELECT id,name FROM jos_samples") or die(mysql_error());
while($row = mysql_fetch_array( $result )) {
print_r($row);
}
Array ( [0] => 3 [id] => 3 [1] => User1 [name] => User1 )
Array ( [0] => 4 [id] => 4 [1] => User2 [name] => User2 )
Array ( [0] => 5 [id] => 5 [1] => User3 [name] => User3 )
Array ( [0] => 6 [id] => 6 [1] => User4 [name] => User4 )
我的打印阵列是这样的
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("joomla") or die(mysql_error());
$result = mysql_query("SELECT id,name FROM jos_samples") or die(mysql_error());
while($row = mysql_fetch_array( $result )) {
print_r($row);
}
Array ( [0] => 3 [id] => 3 [1] => User1 [name] => User1 )
Array ( [0] => 4 [id] => 4 [1] => User2 [name] => User2 )
Array ( [0] => 5 [id] => 5 [1] => User3 [name] => User3 )
Array ( [0] => 6 [id] => 6 [1] => User4 [name] => User4 )
我想要这样的数组
Array ( [3] => User1 [4] => User2 [5] => User3 [6] => User4 )
如何继续?然后不要要求在查询中返回ID,您得到2项的原因是因为ID在其中,其次,如果您不想要字段的名称,请将获取数组的请求更改为 mysql\u fetch\u数组$result,mysql\u NUM
这只获取数字,而不是字段的名称。试试这个,它会根据需要构建一个包含用户名的数组
$aUsers = array();
// Use _assoc, it filters numeric key's.
while($aRow = mysql_fetch_assoc( $result )) {
$aUsers[$aRow['id']] = $aRow['name'];
}
echo '<pre>';
print_r($aUsers);
您可以重塑阵列的形状:
while($row = mysql_fetch_array( $result )) {
$array[$row['id']] = $row['name'];
}
$rows是您的结果。如果我没有弄错,您需要:
while($row = mysql_fetch_array( $result, MYSQL_ASSOC )) {
$rows = array();
while($row = mysql_fetch_array( $result, MYSQL_ASSOC )) {
$rows[$row['id']] = $row['name'];
}
您当前使用的是默认值,即MYSQL\u
然后您需要重新制作阵列:
while($row = mysql_fetch_array( $result )) {
$array[$row['id']] = $row['name'];
}
如果您只想打印id和名称,那么您可以进行foreach而不是print\r,您可以准确地控制查看的方式和内容。我认为询问者希望mysql字段id表示数组的键。@proximus,这就是问题所在does@proximus我在发布后的第二天编辑了它:你是对的!非常感谢你,伙计。。这起作用了。再次感谢你。。说不出话来