Ändere ein assoziatives Array in ein indiziertes Array / erhalte ein Zend_Table_Row_Abstract als nicht-assoziativ
Lesezeit: 2 Minuten
Ethan
Hallo da draußen in Stackland. Ich habe mich gefragt, ob es eine Funktion oder eine einfache Möglichkeit gibt, ein assoziatives Array in ein indiziertes Array umzuwandeln.
Um das näher auszuführen, verwende ich das Zend-Framework, und ich habe einen Punkt auf meiner Website, an dem ich eine Zeile einer SQL-Tabelle als assoziatives Array herausnehme. Ich habe es über ein Echo in JSON an Javascript übergeben. Ich habe jedoch bemerkt, dass ich die Namen der Spalten meiner Datenbank in Firebug sehen kann. Dass Außenstehende die Namen Ihrer Tabellen und Spalten kennen, ist ein großes Sicherheitsverbot, daher möchte ich es ändern
SQLarray[user_id]
SQLarray[block_id]
SQLarray[b_price] etc.
zu
SQLarray[0]
SQLarray[1]
SQLarray[2] etc.
Gibt es eine gute Möglichkeit, dies zu tun?
Es würde auch funktionieren, Zend_Table_Abstract->fetchAll() ein nicht-assoziatives Array zurückgeben zu lassen, aber ich glaube nicht, dass das möglich ist. Danke für Ihre Hilfe!
Wenn das anfängliche Array aus odbc_fetch_array generiert wurde, kann ich mich darauf verlassen, dass array_values immer die richtige Spaltenreihenfolge der Ergebnismenge berücksichtigt? Es scheint, als könnte ich es.
Übergeben Sie das assoziative Array als Parameter und es wird in den Standardindex des Arrays konvertiert. Zum Beispiel: Wir haben Array('2014-04-30'=>43,'2014-04-29'=>41) nach dem Aufruf der Funktion wird das Array sein Array(0=>43,1=>41).
Könnten Sie eine Beschreibung oder kurze Erläuterung geben, wie Ihr Code das Problem löst?
– Illidanek
9. Juli 2014 um 10:28 Uhr
Übergeben Sie einfach ein assoziatives Array als Parameter und konvertieren Sie es in den Standardindex des Arrays. Zum Beispiel: Wir haben Array(‘2014-04-30’=>43,’2014-04-29’=>41) nach dem Aufruf der Funktion Array wird Array(0=>43,1=>41)
Sie können dieses einfache Stück Code verwenden, wenn Sie die eingebaute PHP-Funktion nicht verwenden möchten.
$input_array; // This is your input array
$output_array = []; // This is where your output will be stored.
foreach ($input_array as $k => $v){
array_push($output_array, $v);
}
print_r($output_array);
13337400cookie-checkÄndere ein assoziatives Array in ein indiziertes Array / erhalte ein Zend_Table_Row_Abstract als nicht-assoziativyes