Trasformare un array associativo in un array indicizzato / ottenere uno Zend_Table_Row_Abstract come non associativi

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

Domanda

Ciao là fuori nel Stackland. Mi chiedevo se c'era o una funzione o un modo semplice per modificare un array associativo in un array indicizzato.

Per elaborare, sto utilizzando il framework Zend, e ho ottenuto un punto nel mio sito dove prendo fuori una fila di una tabella SQL come un array associativo. Ho passato a JavaScript tramite un eco in JSON. Tuttavia, ho notato che posso vedere i nomi delle colonne del mio database in Firebug. Avere estranei conoscono i nomi delle tabelle e delle colonne è un grande sicurezza no-no, quindi mi piacerebbe cambiarlo da

SQLarray[user_id]
SQLarray[block_id]
SQLarray[b_price] etc.

a

SQLarray[0]
SQLarray[1]
SQLarray[2] etc.

C'è un buon modo per fare questo?

Sarebbe anche lavorare per essere in grado di avere una Zend_Table_Abstract-> fetchAll () restituiscono una matrice non associativa, ma non credo che sia possibile. Grazie per l'aiuto!

È stato utile?

Soluzione

E 'pura php ok?

$array = array_values($array);

Fonte

Altri suggerimenti

definire la funzione

function array_default_key($array) {
    $arrayTemp = array();
    $i = 0;
    foreach ($array as $key => $val) {
        $arrayTemp[$i] = $val;
        $i++;
    }
    return $arrayTemp;
}

Passare la matrice associativa come parametro e sarà convertire in l'indice di default della matrice. Ad esempio:. Abbiamo Array('2014-04-30'=>43,'2014-04-29'=>41) dopo la chiamata alla funzione matrice sarà Array(0=>43,1=>41)

È possibile utilizzare questo semplice pezzo di codice, se non si desidera utilizzare la funzione PHP integrato.

$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);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top