У меня есть строка, которая, когда var_dump возвращает следующее
string(20) "{\"key1\":\"key1_value",\"key2\":\"key2_value\"}"
Как я могу преобразовать это в массив, который будет возвращать следующее, когда я var_dump?
array(2) { ["key1"]=> string(20) "key1_value" ["key2"]=> string(20) "key2_value" }
Благодаря,
тройник
Это похоже на простой массив JSON, который был искажен magic_quotes
функциями PHP или какой-либо другой функцией экранирования. Отключите magic_quotes
и запустите json_decode()
в строке.
// If you cannot disable `magic_quotes` or you escaped it manually, use this $array = json_decode(stripslashes($strings), true);
То, что у вас есть как данные, выглядит как действительный JSON. Вероятно, вы можете использовать json_decode со вторым параметром true (для получения ассоциативного массива) следующим образом:
$array = json_decode($string, true);
Функция взрыва даст вам то, что вам нужно.
explode(',\\',$string);
должен сделать трюк.