获取mysql结果集作为索引数组

问题描述 投票:0回答:7

我需要拆分一个数组,但这不是我以前做过的事情。

该数组是通过

mysql_fetch_array
从 MySQL 数据库中获取的:

示例:

Array ( 
    [0] => Audi 
    [make] => Audi 
    [1] => 80 1.3 
    [model] => 80 1.3 
    [2] => 1297 
    [cc] => 1297 
    [3] => 1297 
    [choice] => 1297 
    [4] => 60 
    [bhp] => 60 
    [5] => 08/81-03/87 
    [date] => 08/81-03/87 
    [6] => EP 
    [engcode] => EP 
    [7] => Petrol 
    [fuel] => Petrol 
    [8] => - 
    [notes] => - 
    [9] => CAM BELT KIT 
    [type] => CAM BELT KIT 
    [10] => KTB201 
    [partno] => KTB201 
    [11] => AUDI 
    [itemspec] => AUDI
)

我需要将其更改为:

Array ( 
    [0] => Audi 
    [1] => 80 1.3 
    [2] => 1297 
    [3] => 1297 
    [4] => 60 
    [5] => 08/81-03/87 
    [6] => EP 
    [7] => Petrol 
    [8] => - 
    [9] => CAM BELT KIT 
    [10] => KTB201 
    [11] => AUDI )

我尝试了一些使用过滤器数组的方法,但我似乎无法让它正确输出,有什么想法吗?

php mysql
7个回答
8
投票

首先正确使用功能,而不是事后尝试修复错误。


1
投票

您可以使用:

mysql_fetch_array ( $result, MYSQL_NUM );

它将仅返回数字键。


0
投票

据我所知,这些数组是相同的,只是您放弃了关联键而代之以数字键。如果不删除它们,哪些过程是无法实现的?

在我看来,您应该能够将原始数组用于大多数处理目的。


0
投票

0
投票

您可以使用

array_unique
仅保留数组中的不同元素,但我不确定这是更好的解决方案。

“问题”是,根据mysql_fetch_array文档,默认的获取模式是

MYSQL_BOTH
,你应该尝试使用
MYSQL_NUM

$array = mysql_fetch_array($result, MYSQL_NUM);

0
投票

好像您使用

mysql_fetch_array($result, MYSQL_BOTH)
声明。改成
mysql_fetch_array($result, MYSQL_NUM)


0
投票

mysql_fetch_array
已经有一个仅返回数字键的选项:

$row = mysql_fetch_array($result, MYSQL_NUM);

希望有帮助。

(顺便说一句,你不会真正将你所要求的称为“拆分”数组。)

© www.soinside.com 2019 - 2024. All rights reserved.