Можно ли превратить строку похожую на массив в php массив?)

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
mika_di
Сообщения: 122
Зарегистрирован: 2015.09.24, 11:57

Можно ли превратить строку похожую на массив в php массив?)

Сообщение mika_di » 2017.12.05, 12:55

есть вот такая строка

Код: Выделить всё

[["id"=>"63","art"=>"x-1","name"=>"черный","color"=>"#000000"],["id"=>"65","art"=>"x-34","name"=>"коричневый металл","color"=>"#8e3c02"],["id"=>"67","art"=>"x-81","name"=>"темно зеленый","color"=>"#0d4400"],]
Приходит из формы, можно её преобразовать в php массив?

Аватара пользователя
rugabarbo
Сообщения: 936
Зарегистрирован: 2015.06.21, 16:21
Контактная информация:

Re: Можно ли превратить строку похожую на массив в php массив?)

Сообщение rugabarbo » 2017.12.05, 16:03

Код: Выделить всё

$var = '[["id"=>"63","art"=>"x-1","name"=>"черный","color"=>"#000000"],["id"=>"65","art"=>"x-34","name"=>"коричневый металл","color"=>"#8e3c02"],["id"=>"67","art"=>"x-81","name"=>"темно зеленый","color"=>"#0d4400"],]';
$arr = null;
eval("\$arr=$var;");
print_r($arr);
die();
Результат:

Код: Выделить всё

Array
(
    [0] => Array
        (
            [id] => 63
            [art] => x-1
            [name] => черный
            [color] => #000000
        )

    [1] => Array
        (
            [id] => 65
            [art] => x-34
            [name] => коричневый металл
            [color] => #8e3c02
        )

    [2] => Array
        (
            [id] => 67
            [art] => x-81
            [name] => темно зеленый
            [color] => #0d4400
        )

)

Аватара пользователя
rugabarbo
Сообщения: 936
Зарегистрирован: 2015.06.21, 16:21
Контактная информация:

Re: Можно ли превратить строку похожую на массив в php массив?)

Сообщение rugabarbo » 2017.12.05, 16:06

Но есть нюанс.
Если приходит из формы, то лучше так не делать :mrgreen:

Для безопасного преобразования простых решений нет. Нужно гуглить готовую функцию.

mika_di
Сообщения: 122
Зарегистрирован: 2015.09.24, 11:57

Re: Можно ли превратить строку похожую на массив в php массив?)

Сообщение mika_di » 2017.12.05, 16:23

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

steaze
Сообщения: 15
Зарегистрирован: 2017.01.28, 21:25

Re: Можно ли превратить строку похожую на массив в php массив?)

Сообщение steaze » 2017.12.05, 19:52

Поищите "php parse string as array". На стаке вроде есть ответ, либо самому колхозить.
Интересно, конечно, кто передаёт в таком виде, может есть возможность передавать в json?

user
Сообщения: 21
Зарегистрирован: 2017.12.05, 16:55

Re: Можно ли превратить строку похожую на массив в php массив?)

Сообщение user » 2017.12.06, 01:14

а в чем проблема, это и есть массив?

Ответить