2015-10-29 8 views
1

БДА Я работаю с имеет массив строк, хранящиеся в виде текстового значения, такие как:Преобразование строкового массива в реальный массив

«[\» Радио \/CD \ «\» TV \ "\ "водомерный \"]"

(не знаю, почему хранится, как это)

во всяком случае, мне нужно, чтобы преобразовать его в обычный массив, например:

Array ( [0] => водомерный [1] => TV [2] => Радио/CD)

Из-за способа его хранить, я не могу сделать обычный PHP взорваться, например:

<?php 
    $input = '"[\"Radio\\\/CD\",\"TV\",\"Weight Gauge\"]"'; 
    echo "Input string:<br>" . $input . "<br><br>"; 
    $output = explode(",", stripslashes($input)); 
    print_r($output); 
?> 

Полученный массив (не так, как я хочу его):

Array ([0] => "[" Радио/CD»[1] => "TV"[2 ] => «Манометр»] »)

Thanks

ответ

2

Похоже, что это двойное кодирование JSON.

использование json_decode

$input = '"[\"Radio\\\/CD\",\"TV\",\"Weight Gauge\"]"'; 
$output = json_decode(json_decode($input)); 
print_r($output); 

это выходы:

Array 
(
    [0] => Radio/CD 
    [1] => TV 
    [2] => Weight Gauge 
) 
+0

Спасибо, лол, я попробовал один json_decode ... не думал о делать двойной. – Martin

Смежные вопросы