2016-12-29 2 views
0

Ich habe eine POST-Anfrage an meinen Webserver mit ein paar JSON-Params innerhalb der Parameter gesendet, es gibt ein Array. Ich erhalte in dem POST-Array-Variable:JSON vom empfangenen POST-Array decodieren

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

Ich weiß nicht, wie dies in PHP zu einem Array zu analysieren. Ich habe versucht, es mit json_decode zu lösen, aber es scheint wie der falsche Weg.

ist mein gewünschtes Ergebnis folgt aus: $ids = array(12, 13);

Wie kann ich das tun?

Antwort

0

Sie müssen die Funktion json_decode mitteilen, um die Objekte in assoziative Arrays zu konvertieren.

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

Ja, Sie haben Recht. versuche es so: '$ id = '[{" id ": 12}, {" id ": 13}]';' '$ res = json_decode ($ id, wahr);' 'print_r ($ res); ' –

0

Ersetzen Sie Schrägstriche in $ _POST [ 'id_arr']

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

Dann über ids

Schleife: Wie in der json_decode documentation gezeigt, kann dies durch Einstellung wahr das zweite Argument erfolgen
$result = []; 
foreach($ids as $id) { 
    $result[] = $id->id; 
} 
Verwandte Themen