web-dev-qa-db-fra.com

Transformez un tableau associatif en tableau indexé / obtenez un Zend_Table_Row_Abstract comme non associatif

Salut à Stackland. Je me demandais s'il y avait une fonction ou un moyen facile de changer un tableau associatif en un tableau indexé.

Pour élaborer, j'utilise le framework Zend, et j'ai un point dans mon site où je retire une ligne d'une table SQL en tant que tableau associatif. Je l'ai transmis à javascript via un écho en JSON. Cependant, j'ai remarqué que je peux voir les noms des colonnes de ma base de données dans Firebug. Avoir des étrangers connaissant les noms de vos tables et colonnes est un grand non-non de sécurité, donc je voudrais le changer de

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

à

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

Y at-il un bon moyen de le faire?

Cela fonctionnerait également pour pouvoir avoir un Zend_Table_Abstract-> fetchAll () retourner un tableau non associatif, mais je ne pense pas que ce soit possible. Merci de votre aide!

53
Ethan

Le php pur est-il correct?

$array = array_values($array);

Source

143
Ian Elliott

définir la fonction

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

Passez le tableau associatif en tant que paramètre et il se convertira en l'index par défaut du tableau. Par exemple: nous avons Array('2014-04-30'=>43,'2014-04-29'=>41) après l'appel à la fonction, le tableau sera Array(0=>43,1=>41).

4
user3567805