2017-01-17 1 views
1

Ich habe eine JSON Array Objektliste entfernen:wie eine Element-Arrays als JSON-Objekte in PHP

[ 
    "image1.png", 
    "image2.jpg", 
    "image3.jpg", 
    "image4.jpg", 
    "image5.jpg", 
    "image6.jpg" 
] 

Wenn ich ungesetzt einer des Artikels in Topliste Array wie unten php Code:

unset($json[2]); 

$ json [2]ist„image3.jpg“

Aber nach Löschen von Elementen, die Liste wird nach unten Liste ändern:

{ 
    "0": "image1.png", 
    "1": "image2.jpg", 
    "2": "image4.jpg", 
    "4": "image5.jpg", 
    "5": "image6.jpg" 
} 

Was richtig ist wie unten Liste sein? :

[ 
    "image1.png", 
    "image2.jpg", 
    "image4.jpg", 
    "image5.jpg", 
    "image6.jpg" 
] 

mir bitte helfen .. Danke ..

+1

mit '$ json = array_values ​​($ json) einen neuen Index erstellen Mai;' 'nach unset'. – JustOnUnderMillions

+0

@devlin carnate jep, ein json Array :) – JustOnUnderMillions

+0

@JustOnUnderMillions Danke Dude –

Antwort

3

des Schlüssels in Ihrem Array Wie Um einen certian Schlüssel nach dem Entfernen, um json_encode versucht zu speichern Sie diese neue Ordnung geändert hat. Also müssen Sie Ihre Array-Schlüssel neu indizieren.

Für diese Verwendung array_values, die

Indizes der Array numerisch

$json = [/* your array here */]; 
unset($json[2]); 
echo json_encode(array_values($json));