Проблема с explode() в PHP


У меня проблема с моей функцией разнесения в PHP.

Я извлекаю строку из базы данных следующим образом:

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

После переноса этого в объект с именем $recordset я использую функцию разнесения, чтобы сделать из него массив... следующим образом:

  $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

Приведенная выше логика отлично работает..

Я не уверен, как отладить или решить эту проблему..

Пожалуйста, помогите?

Author: Stephen, 2010-11-22

2 answers

Проблема не в explode(). Проблема заключается в строке, которую вы извлекаете из базы данных. Если эта строка каким-то образом объединена, я бы начал искать там. Если нет, проверьте строку в своей базе данных или проверьте запрос, который обращается к таблице.

Взгляните на документацию для GROUP_CONCAT. Вы можете указать порядок в синтаксисе.

 5
Author: Stephen, 2010-11-22 19:24:27

Проблема не в взрыве, как вы можете видеть в этот кодовый контроллер взрыв работает правильно.

Проверьте значения, поступающие из вашей базы данных, и убедитесь, что они находятся в том порядке, в котором вы ожидаете.

Редактировать: Как это значение генерируется в БД? Является ли это статическим значением в поле или оно создается в результате объединения?

 1
Author: Neil Aitken, 2010-11-22 19:06:30