php print_r()数组显示的问题

2025-04-30 06:30:23
推荐回答(3个)
回答1:

问题出在mysql_fetch_array这一步,此方法的第二个参数表示你要获取的数组的类型

  1. MYSQL_ASSOC 关联数组,就是键名是id,name,sex的

  2. MYSQL_NUM 索引数组,键名是数字的

  3. MYSQL_BOTH 以上两种都有

不给第二个参数的话,默认是MYSQL_BOTH,所以就出现了你上面的结果

回答2:

mysql_fetch_array(data,array_type)

data
可选。规定规定要使用的数据指针。该数据指针是 mysql_query() 函数产生的结果。
array_type
可选。规定返回哪种结果。可能的值:
MYSQL_ASSOC - 关联数组
MYSQL_NUM - 数字数组
MYSQL_BOTH - 默认。同时产生关联和数字数组

mysql_fetch_array() 是 mysql_fetch_row() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。

如果只想用索引就使用 mysql_fetch_row()
如果只想用关键字使用 mysql_fetch_assoc()
既想要索引,又要关键字使用 mysql_fetch_array()

回答3:

自己百度一下mysql_fetch_array()函数的解释吧
mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有
那你的数组不是:
Array
(
[0] => 3
[id] => 3
[1] => 葡萄干
[name] => 葡萄干
[2] => 男
[sex] => 男
)
那是什么呢?
如果你只要数字数组,而不要关联数组,那就换一个函数
改成这个mysql_fetch_row()函数即可