Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP和MySQL中操作数组?_Php_Mysql_Arrays - Fatal编程技术网

如何在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我在发布后的第二天编辑了它:你是对的!非常感谢你,伙计。。这起作用了。再次感谢你。。说不出话来