Как разделить строку

248
06 ноября 2021, 09:50

Имеется такая строка:

$str = "(1, 'a', 2, '', ''),
(2, 'b, d', 2, '', ''),
(4, 'c', 2, '', ''),"

Нужно ее преобразовать в правильный массив в виде:

$str = array(
    array(1, 'a', 2, '', ''),
    array(2, 'b, d', 2, '', ''),
    array(4, 'c', 2, '', '')
);
echo $str[1][1]; // b, d

Как такое реализовать на PHP и чтобы можно было обращаться к нужному значению ?

Answer 1

Если ваша постановка вопроса правильная, то превращаем в валидный json и распаковываем

$res = json_decode('['. str_replace(['(',')',"'"],['[',']','"'],trim($str,',')) .']');
print_r($res);
Array (
    [0] => Array (
            [0] => 1
            [1] => a
            [2] => 2
            [3] => 
            [4] => 
        )
    [1] => Array (
            [0] => 2
            [1] => b, d
            [2] => 2
            [3] => 
            [4] => 
        )
    [2] => Array (
            [0] => 4
            [1] => c
            [2] => 2
            [3] => 
            [4] => 
        )
  )
Answer 2

Не любитель велосипедов, но если решать в лоб, то так:

$str = "(1, 'a', 2, '', ''),
(2, 'b, d', 2, '', ''),
(4, 'c', 2, '', ''),";
eval('$data = array('.str_replace('(', 'array(', $str).');');
echo $data[1][1]; // b, d
READ ALSO
PHP-FPM в какую папку положить файлы?

PHP-FPM в какую папку положить файлы?

Сразу оговорюсь, что в php и связаной с ним инфраструктуре я полный ноль

171
Как установить кодировку utf-8 в phpmyadmin

Как установить кодировку utf-8 в phpmyadmin

?????? вместо русских букв - помогите, пожалуйста

104
JS фильтр по поиску городов

JS фильтр по поиску городов

Подскажите, как сделать или где можно прочитать о том, как сделать Фильтр поиска на сайте (фото прикрепляю) + нужна ли база данных городов на MySQL

109
Form работает некорректно PHP JS

Form работает некорректно PHP JS

Сайт работает через раз!(Если пишу логин который нет в базе то он ничего не выводит , а если такой логин есть то он выводит ошибку , но если уже...

227