2

我在 PHP 中的爆炸函数有问题。

我正在从数据库中提取一个字符串,如下所示:

  column_name
  0,2000,0,3000,1000,7000,1000,0,0,0

将其拉入一个名为 $recordset 的对象后,我使用explode函数从中创建一个数组......如下:

  $array = explode(",",$recordset->column_name)

但是有些方式,数组并不像我期望的那样......

这是我回显数组时得到的:

     Array
     (
     [0] => 0
     [1] => 0
     [2] => 0
     [3] => 3000
     [4] => 7000
     [5] => 2000
     [6] => 1000
     [7] => 1000
     [8] => 0
     [9] => 0
     )

如您所见,我没有得到应有的值...但是,如果我从数据库中获取的字符串很短,请说:

    1000,0,1200,0

上面的逻辑工作正常..

我不知道如何调试或解决这个问题..

请帮忙?

4

2 回答 2

5

问题不在于explode(). 问题是您从数据库中提取的字符串。如果这个字符串以某种方式连接,我会开始寻找那里。如果不是,请验证数据库中的字符串,或验证访问表的查询。

查看GROUP_CONCAT的文档。您可以在语法中指定顺序。

于 2010-11-22T19:07:41.553 回答
1

问题不是爆炸,正如您在此键盘中看到的那样, explode 工作正常。

检查来自数据库的值,并确保它们符合您期望的顺序。

编辑: 这个值是如何在数据库中生成的?它是字段中的静态值,还是从连接中创建的?

于 2010-11-22T19:06:30.343 回答