2016-12-29 2 views
0

Я отправил запрос POST на мой веб-сервер с несколькими JSON-Params внутри параметров, есть массив. Я получаю в массиве переменной-POST:Декодирование JSON из полученного POST-массива

$ids = $_POST['id_arr'];  // contains: [{\"id\":12},{\"id\":13}] 

Я не знаю, как разобрать это на массив в PHP. Я попытался решить проблему с помощью json_decode, но это похоже на неправильный путь.

Мой желаемый результат: $ids = array(12, 13);

Как я могу это сделать?

ответ

0

Чтобы преобразовать объекты в ассоциативные массивы, необходимо указать функцию json_decode. Как показано в json_decode documentation, это можно сделать, установив в истинной второй аргумент:

$ids = json_decode($_POST['id_arr'], true); 
+0

да, вы правы. попробуйте вот так: '$ id = '[{" id ": 12}, {" id ": 13}]';' '$ res = json_decode ($ id, true);' 'print_r ($ res); ' –

0

Replace слеша $ _POST [ 'id_arr']

$ids = $_POST['id_arr']; 
$ids = json_decode(str_replace('\\', '', $ids)); 

Затем петлю над идентификаторами

$result = []; 
foreach($ids as $id) { 
    $result[] = $id->id; 
}