Ich möchte den MD5-Wert eines Strings berechnen, der das Ergebnis von json_encode
eines assoziativen Array war, das von MySQL erhalten wurde.Wird json_encode immer das gleiche Ergebnis für ein assoziatives Array in PHP zurückgeben?
Kann ich den gleichen MD5-Wert erhalten, wenn die Daten nicht geändert wurden? Oder muss ich die Schlüssel des assoziativen Arrays nach einigen Regeln sortieren, um sicherzustellen, dass die json_encode
-Funktion die gleiche Zeichenfolge zurückgeben kann?
Richtige Antwort. Haben Sie eine Vorliebe für 'krsort' gegenüber' ksort'? – trincot
Korrekt, aber möglicherweise nicht der Anwendungsfall. Wenn die Array-Schlüssel in derselben Reihenfolge eingegeben wurden, ist der json_encode-Wert für dieselben Werte derselbe. Da die Frage erwähnt, dass es sich um ein Array aus einem MySql-Abfrageergebnis handelt, sind die Schlüssel identisch, und in der gleichen Reihenfolge können nur die Werte unterschiedlich sein, so dass es zwar nicht schadet, aber nur unnötig ist. –
@trincot Ich bin von der Art des Arrays abhängig. Ein einfacher ksort für ein einfaches Array und ein krsort für ein verschachteltes Array (ein Array von Array). –