Hola hay en Stackland. Me preguntaba si había una función o una manera fácil de cambiar una matriz asociativa en una matriz indexada.

Elaborar, estoy usando Zend framework, y tengo un punto en mi sitio de donde puedo sacar una fila de una tabla de SQL como una matriz asociativa. He pasado de javascript a través de un eco en JSON. Sin embargo, me he dado cuenta de que puedo ver el nombre de mi base de datos de las columnas en Firebug. Tener forasteros saber los nombres de las tablas y columnas es un grande de la seguridad no-no, así que me gustaría cambiar de

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

a

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

¿Hay una buena manera de hacer esto?

También podría trabajar para poder tener un Zend_Table_Abstract->fetchAll() devuelve un array no asociativo, pero yo no creo que eso sea posible. Gracias por su ayuda!

InformationsquelleAutor Ethan | 2009-06-30

3 Comentarios

  1. 143

    Es puro php ok?

    $array = array_values($array);

    Fuente

    • Si la inicial de la matriz generada a partir de odbc_fetch_array, ¿se puede confiar en array_values a honrar siempre la columna apropiada de orden del conjunto de resultados? Me parece que se puede.
  2. 4

    de definir la función

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

    Pasar el array asociativo como un parámetro y se va a convertir en el índice por defecto de la matriz. Por ejemplo: tenemos Array('2014-04-30'=>43,'2014-04-29'=>41) después de la llamada a la función de la matriz será Array(0=>43,1=>41).

    • Podría dar una descripción o explicación breve de cómo el código resuelve el problema?
    • acaba de pasar un array asociativo como parámetro y convertir en predeterminado índice de la matriz. Por ejemplo: tenemos Array(‘2014-04-30’=>43,’2014-04-29’=>41) después de llamar a la función de la matriz será Array(0=>43,1=>41)
    • Esta lógica es útil.
  3. -1

    Usted podría utilizar esta sencilla pieza de código, si usted no desea utilizar el incorporado función de PHP.

    $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);
    • esta es la solución básica que todo el mundo usaría. pero supongo que la pregunta significa que si hay una manera mejor que este.

Dejar respuesta

Please enter your comment!
Please enter your name here