beibehalten Ich habe eine Funktion zum Löschen einer PID innerhalb einer JSON-Zeichenfolge. Diese Funktion funktioniert einwandfrei, aber wenn ich im JSON-Format die resultierende Zeichenfolge erneut codiere (unter Verwendung von json_encode
), geht das ursprüngliche JSON-Format verloren.Wie Original JSON-Format nach dem Löschen der ID mit PHP
So behalten Sie dieses Originalformat bei. Das ist die Frage. Ich brauche Hilfe, es zu tun.
Dies ist der Code:
function deletePID($idToRemove, $dataBase) {
if (!empty($dataBase)) {
$dataArray = json_decode($dataBase, true);
if (is_array($dataArray)) {
if (is_numeric($idToRemove)) {
for ($i = 0; $i < count($dataArray['cP']); $i++) {
$thisChannel = $dataArray['cP'][$i]['cID'];
if ($idToRemove == $thisChannel) {
unset($dataArray['cP'][$i]);
}
}
$thisJason = json_encode($dataArray);
return $thisJason;
}
}
}
}
$database = '{"cP":[{"cID":"1","PID":"30144"},{"cID":"2","PID":"30147"},{"cID":"3","PID":"30150"}]}';
$pidToDelete = 2;
echo deletePID($pidToDelete, $database);
Ausgang ist:
{"cP":{"0":{"cID":"1","PID":"30144"},"2":{"cID":"3","PID":"30150"}}}
Statt:
{"cP":[{"cID":"1","PID":"30144"},{"cID":"3","PID":"30150"}]}