# [PHP] Medir longitud de un array ¿? (Abierto)

## ZaPa

Hola a todos.

Estoy algo confuso con el tema de la medición de un array en php, os cuento.

He estado elaborando un script para hacer consultas a una base de datos. 

Con un select selecciono todos los nombres de una tabla (la tabla tiene 17 campos).

Y la consulta la convierto en un array con la función mysql_fetch_array().

Más tarde y ya con el array creado, me dispongo a contar los elementos del array con la función strlen(). (Siempre he pensado que se hacia con strlen()), pero, al imprimir el resultado de strlen() me dice que tiene 5 elementos...

Tambien he probado contando los elementos con sizeof() y me dice que tiene 34 elementos.....

¿Que pasa aqui?

¿El total de elementos de ese array, creado con mysql_fetch_array() no sería el numero de campos que tiene la tabla usuarios? 

¿En que me estoy liando?

Un saludo.

----------

## edgar_uriel84

Hola, lo que pasa es que lo estas haciendo mal, strlen() cuenta la longitud de una cadena.

La funcion sizeof() no la uso, pero creo que es similar a count(), lo que te debe estar pasando es que te esta contanto el número de elementos totales del arreglo, es decir si, si tienes un resultado contará 17 elementos, pero si tienes 2 resultados contará 34. Si no me crees, imprime todo el array de un jalón y cuenta los elementos.

Lo que estas buscando es el contar el número de campos de una búsqueda, por lo que mysql_num_fields() debería servirte. Con él cuenta cuantas columnas de la tabla fueron incluidas en el resultado. Si lo que buscas es el número de resultados (ahora que veo no lo dejas muy claro), es decir, el número de filas que fueron incluidas en el resultado entonces mysql_num_rows() debe servirte. 

Consulta php.net para detalles, si una función te devuelve algo que no deseas, es la mejor opción para despejar tus dudas.

Saludos.

----------

