2011-10-09 10 views
7

¿Cuál sería la mejor (más eficiente, más fácil de entender en el código, etc.) para comprobar si una variable es de tipo primitivo en PHP?Cómo comprobar si una variable es primitiva en PHP

debo ir más (por ejemplo is_string() || is_int()...) manera "positiva", o viceversa !is_array() && __is_object().. o tal vez de alguna manera incluso más elegante?

+0

Yo, personalmente, me quedaría con 'is_ ()'; están ahí por una razón (siempre trate de mantener la claridad y el propósito para más adelante). –

+0

a) use ** la respuesta de ** breiti ** b) ** definitivamente ** manera positiva - nunca se sabe qué tipo de nuevo saldrá - mejor enfoque es considerar cualquier otro como no primitivo :) –

Respuesta

17

usted está buscando is_scalar().

+0

Guau, lo hice No sé que existe. ¡Gracias! – Aurimas

+0

is_scalar() solo funcionará para booleano, entero, flotante (doble) y cadena. Debido a que la pregunta habla sobre tipos primitivos que también son array, object, resource y NULL, tu respuesta no siempre funcionará. –

+0

@ Pier-AlexandreBouchard Las matrices y los objetos generalmente se consideran no primarios-primitivos (especialmente no objetos), NULL es un "tipo" especial ... en realidad no es un tipo en absoluto ..., y el recurso simplemente se construye sobre enteros => pueden cambiar a tiempo :) –

0

me gustaría utilizar el is_type() positivo, ya que es más lógico, y en tiempos cansados obtendrá confundido por todos los negativos.

0

Bueno, el más fácil de leer en el código es, probablemente, para definir una is_primitive_type(). Dudo eficiencia es ninguna preocupación real para una operación tan sencilla.

Cuestiones relacionadas