Meine Herren!
Ich habe nur bemängelt, dass "man" einen Overhead einführen wollte
$ausgabe[] = $row;
> der keinen Nutzen bringt.
Die Vorteile habe ich jetzt mehrfach erläutert und leider habe ich immer noch kein fundiertes Kontra-Argument von dir gelesen.
Im Übrigen halte ich das nicht für einen Overhead. Die Einfüge-Position wird von PHP sowieso auf magische Weise mitgeschleppt, ja auch bei assoziativen Arrays. In anderen Programmiersprachen (z.B. JavaScript) unterscheidet man auch nicht zwischen Position und Schlüssel in einem Array, das ist eine Besonderheit von PHP, die ich sowieso kritisch beäuge. Ein Beispiel:
$foo = array();
$foo[1] = 'bar';
$foo[0] = 'baz';
Wenn ich dich nun fragte, was das 0-te Array-Element ist, was würdest du antworten? Sagst du 'bar', sag ich 'baz', weil ich das Element mit dem Schlüssel '0' meinte. Sagst du 'baz', sag ich 'bar', weil ich das Array an Position '0' meinte.
Im Allgemeinen läuft eine MySQL-Ergebnismenge übrigens auch nicht mit einer ID auf, und spätestens dann müsstest du sowieso von deiner Konvention abweichen. Ich bevorzuge da Coding-Konventionen, die robuster sind.
Der Primär-Schlüssel ist nunmal eine Maßnahme, die im Kontext von relationalen Datenbanksystem zweckmäßig ist, weil Zeilen schnell identifiziert werden können und man damit ein Merkmal hat, um Relationen zwischen verschiedenen Tabellen zu definieren. Meiner Meinung nach ist dieser Primärschlüssel ein privates Implementations-Detail des Datenbank-Entwurfs und ich sehe keine technische Notwendigkeit diesen Schlüssel zu zweckentfremden und auch in PHP als Array-Schlüssel wiederzuverwenden.
--
“All right, then, I'll go to hell.” – Huck Finn