Проблема с 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
Приведенная выше логика отлично работает..
Я не уверен, как отладить или решить эту проблему..
Пожалуйста, помогите?
2 answers
Проблема не в explode()
. Проблема заключается в строке, которую вы извлекаете из базы данных. Если эта строка каким-то образом объединена, я бы начал искать там. Если нет, проверьте строку в своей базе данных или проверьте запрос, который обращается к таблице.
Взгляните на документацию для GROUP_CONCAT. Вы можете указать порядок в синтаксисе.
Проблема не в взрыве, как вы можете видеть в этот кодовый контроллер взрыв работает правильно.
Проверьте значения, поступающие из вашей базы данных, и убедитесь, что они находятся в том порядке, в котором вы ожидаете.
Редактировать: Как это значение генерируется в БД? Является ли это статическим значением в поле или оно создается в результате объединения?