PHP中的explode()问题

时间:2010-11-22 19:00:07

标签: php mysql sql-order-by group-concat

我在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

上述逻辑工作正常..

我不确定如何调试或解决这个问题..

请帮帮忙?

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:1)

问题不会爆炸,正如您在this codepad爆炸中看到的那样,爆炸工作正常。

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

修改 如何在DB中生成此值?它是字段中的静态值,还是从串联创建的?