Конвертировать в массив для PHP

0

Есть ли способ конвертировать строку в форме, представленной ниже, в массив в PHP?

{1,2,3,4} 

Строка хранится в базе данных, подобной этой, и я не контролирую, как вещи вставляются в базу данных.

  • 0
    Не ясно, чего вы действительно хотите. Каков ваш вклад и ожидаемый результат.
  • 0
    Он хочет преобразовать эту строку в массив
Теги:
arrays

4 ответа

1
Лучший ответ

Преобразуйте его в действительный массив json, а затем json_decode?

$data = '{1,2,3,4}';
$d = json_decode(str_replace(['{','}'], ['[',']'], $data));
var_dump($d);
  • 0
    делать явно не-json-строку json-like просто для возможности использования json_decode кажется мне неподходящим. На мой взгляд, уместным способом было бы выяснить, в каком формате находится исходная строка, и посмотреть, есть ли для этого некоторые вспомогательные функции. Если нечего искать, работайте с php-манипуляциями со строками.
0

Просто обрезайте скобки, а затем взорвите.

$string = '{1,2,3,4}'; 
$array = explode(',', trim($string, '{}'));    
var_dump($array); 
0

Вы должны просто сделать:

$string = "{1,2,3,4,5}";
$array = explode(',', str_replace(array('{', '}'),'', $string));
print_r($array);

В функции str_replace вы просто добавляете каждый символ мусора.

0

Просто удалите переднюю и конечную фигурные скобки, а затем используйте explode для разделения строки запятыми:

$str = "{1,2,3,4}";
$csv = substr($str, 1, -1); /* remove braces */
$array = explode(",", $csv); /* split */
print_r($array);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню