Ändern Sie ein assoziatives Array in einem indizierten Array / erhalten eine Zend_Table_Row_Abstract als nicht-assoziativ
-
21-08-2019 - |
Frage
Hallo da draußen in Stackland. Ich habe mich gefragt, ob es entweder war eine Funktion oder eine einfache Möglichkeit, ein assoziatives Array in einem indizierten Array zu ändern.
Um dies näher auszuführen, ich bin mit dem Zend Framework, und ich habe einen Punkt in meiner Seite, wo ich als assoziatives Array eine Reihe von einer SQL-Tabelle entnehmen. Ich habe es über eine in JSON hallte Javascript übergeben. Allerdings habe ich bemerkt, dass ich die Namen meiner Datenbank Spalten in Firebug zu sehen. Mit Außenstehende kennen die Namen der Tabellen und Spalten ist eine große Sicherheit no-no, so würde ich es gerne ändern von
SQLarray[user_id]
SQLarray[block_id]
SQLarray[b_price] etc.
SQLarray[0]
SQLarray[1]
SQLarray[2] etc.
Gibt es einen guten Weg, dies zu tun?
Es wäre auch ein Zend_Table_Abstract-> fetchAll (), um in der Lage sein zu arbeiten, um ein nicht-assoziatives Array zurück, aber ich glaube nicht, dass das möglich ist. Vielen Dank für Ihre Hilfe!
Lösung
Andere Tipps
definiert Funktion
function array_default_key($array) {
$arrayTemp = array();
$i = 0;
foreach ($array as $key => $val) {
$arrayTemp[$i] = $val;
$i++;
}
return $arrayTemp;
}
Übergeben Sie die assoziativen Arrays als Parameter, und es wird in den Standardindex des Arrays konvertieren. Zum Beispiel:. Wir haben nach dem Aufruf der Funktion wird das Array Array('2014-04-30'=>43,'2014-04-29'=>41)
Array(0=>43,1=>41)
Sie dieses einfache Stück Code verwenden können, wenn Sie nicht über die eingebaute PHP-Funktion verwendet werden soll.
$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);