PHP中的explode()问题

Jas*_*ngh 2 php mysql sql-order-by group-concat

我的PHP中的爆炸功能有问题.

我从数据库中提取字符串如下:

  column_name
  0,2000,0,3000,1000,7000,1000,0,0,0
Run Code Online (Sandbox Code Playgroud)

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

  $array = explode(",",$recordset->column_name)
Run Code Online (Sandbox Code Playgroud)

但是有些怎么样,阵列并不像我期望的那样......

这是我回应数组时得到的结果:

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

正如你所看到的,我没有得到我想要的值...但是,如果我的数据库中的字符串很短,请说:

    1000,0,1200,0
Run Code Online (Sandbox Code Playgroud)

以上逻辑工作正常..

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

请帮忙?

Ste*_*hen 5

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

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

  • 短期的是按照预期的顺序返回.您需要指定订单. (3认同)