2011-10-09 3 views
7

Quel serait le meilleur moyen (le plus efficace, le plus facile à comprendre dans le code, etc) de vérifier si une variable est de type primitif en PHP?Comment tester si une variable est primitive dans PHP

Dois-je aller le « positif » (par exemple is_string() || is_int()...) façon, ou vice versa !is_array() && __is_object().. ou peut-être certains même colombophile façon?

+0

Personnellement, je resterais avec 'is_ ()'; ils sont là pour une raison (toujours essayer de conserver la clarté et le but pour plus tard sur la route). –

+0

a) utilise la réponse de ** breiti ** b) ** certainement ** façon positive - vous ne savez jamais quel nouveau type sortira - une meilleure approche est considérée comme une autre non-primitive :) –

Répondre

17

vous recherchez is_scalar()

+0

Wow, je l'ai fait ne sait pas que l'un existe. Merci! – Aurimas

+0

is_scalar() ne fonctionnera réellement que pour booléen, entier, float (double) et string. Parce que la question parle de types primitifs qui sont aussi array, object, resource et NULL, votre réponse ne fonctionnera pas toujours. –

+0

@ Pier-AlexandreBouchard Les tableaux et les objets sont généralement considérés comme n'étant pas vraiment élémentaires-primitifs (surtout pas les objets), NULL est un "type" spécial ... pas vraiment un type ..., et la ressource vient juste d'être construite entiers => peut changer dans le temps :) –

0

Je voudrais utiliser la is_type() de positif, car il est plus logique, et dans les temps fatigués vous obtiendrez confus par tous les négatifs.

0

Eh bien, le plus facile à lire dans le code est probablement définir un is_primitive_type(). Je doute l'efficacité est une préoccupation réelle pour une opération simple.

Questions connexes