Ändern Sie ein assoziatives Array in einem indizierten Array / erhalten eine Zend_Table_Row_Abstract als nicht-assoziativ

StackOverflow https://stackoverflow.com/questions/1065131

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!

War es hilfreich?

Lösung

Ist reine PHP ok?

$array = array_values($array);

Quelle

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);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top